UNPKG

@gentrace/core

Version:
147 lines (139 loc) 3.73 kB
/* tslint:disable */ /* eslint-disable */ /** * Gentrace API * These API routes are designed to ingest events from clients. * * The version of the OpenAPI document: 0.27.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ export interface ConfigurationParameters { apiKey?: | string | Promise<string> | ((name: string) => string) | ((name: string) => Promise<string>); username?: string; password?: string; accessToken?: | string | Promise<string> | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise<string>); basePath?: string; baseOptions?: any; formDataCtor?: new () => any; logger?: { info: (message: string, context?: any) => void; warn: (message: string | Error, context?: any) => void; }; } export class Configuration { /** * parameter for apiKey security * @param name security name * @memberof Configuration */ apiKey?: | string | Promise<string> | ((name: string) => string) | ((name: string) => Promise<string>); /** * parameter for basic security * * @type {string} * @memberof Configuration */ username?: string; /** * parameter for basic security * * @type {string} * @memberof Configuration */ password?: string; /** * parameter for oauth2 security * @param name security name * @param scopes oauth2 scope * @memberof Configuration */ accessToken?: | string | Promise<string> | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise<string>); /** * override base path * * @type {string} * @memberof Configuration */ basePath?: string; /** * base options for axios calls * * @type {any} * @memberof Configuration */ baseOptions?: any; /** * The FormData constructor that will be used to create multipart form data * requests. You can inject this here so that execution environments that * do not support the FormData class can still run the generated client. * * @type {new () => FormData} */ formDataCtor?: new () => any; /** * Custom logger that clients can provide to capture logs/warnings/errors from the SDK. */ logger?: { info: (message: string, context?: any) => void; warn: (message: string | Error, context?: any) => void; }; constructor(param: ConfigurationParameters = {}) { this.apiKey = param.apiKey; this.username = param.username; this.password = param.password; this.accessToken = param.accessToken; this.basePath = param.basePath; this.baseOptions = param.baseOptions; this.formDataCtor = param.formDataCtor; this.logger = param.logger; if (!this.baseOptions) { this.baseOptions = {}; } this.baseOptions.headers = { "User-Agent": `OpenAI/NodeJS`, Authorization: `Bearer ${this.apiKey}`, ...this.baseOptions.headers, }; } /** * Check if the given MIME is a JSON MIME. * JSON MIME examples: * application/json * application/json; charset=UTF8 * APPLICATION/JSON * application/vnd.company+json * @param mime - MIME (Multipurpose Internet Mail Extensions) * @return True if the given MIME is JSON, false otherwise. */ public isJsonMime(mime: string): boolean { const jsonMime: RegExp = new RegExp( "^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$", "i", ); return ( mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === "application/json-patch+json") ); } }