channelape-sdk
Version:
A client for interacting with ChannelApe's API
34 lines (33 loc) • 1.52 kB
TypeScript
import { AxiosRequestConfig } from 'axios';
import { RequestCallback } from './model/RequestCallback';
import RequestClientWrapperConfiguration from './model/RequestClientWrapperConfiguration';
import { RequestConfig } from './model/RequestConfig';
export default class RequestClientWrapper {
private readonly requestClientWrapperConfiguration;
private readonly logger;
private readonly maximumConcurrentConnections;
private readonly requestLogger;
private readonly isJwtToken;
requestQueue: RequestConfig[];
pendingRequests: number;
constructor(requestClientWrapperConfiguration: RequestClientWrapperConfiguration);
get(url: string, params: AxiosRequestConfig, callback: RequestCallback): void;
put(url: string, params: AxiosRequestConfig, callback: RequestCallback): void;
patch(url: string, params: AxiosRequestConfig, callback: RequestCallback): void;
post(url: string, params: AxiosRequestConfig, callback: RequestCallback): void;
private handleRequest;
delete(url: string, params: AxiosRequestConfig, callback: RequestCallback): void;
prepareRequest(requestConfig: RequestConfig): Promise<void>;
private makeRequest;
private handleResponse;
private getMaximumRetryLimitExceededMessage;
private didRequestTimeout;
private requestCompleted;
private shouldRequestBeRetried;
private isApiError;
private retryRequest;
private getJitterDelayMs;
private didRequestFail;
private parseJwt;
private isItJwtToken;
}