channelape-sdk
Version:
A client for interacting with ChannelApe's API
26 lines (25 loc) • 1.71 kB
TypeScript
/// <reference types="request" />
import * as request from 'request';
import { LogLevel } from 'channelape-logger';
export default class RequestClientWrapper {
private readonly client;
private readonly logLevel;
private readonly maximumRequestRetryTimeout;
private readonly requestLogger;
private readonly limiter;
constructor(client: request.RequestAPI<request.Request, request.CoreOptions, request.RequiredUriUrl>, logLevel: LogLevel, endpoint: string, maximumRequestRetryTimeout: number);
get(uri: string, options?: request.CoreOptions | undefined, callback?: request.RequestCallback | undefined): void;
get(uri: string, callback?: request.RequestCallback | undefined): void;
get(options: (request.UriOptions & request.CoreOptions), callback?: request.RequestCallback | undefined): void;
put(uri: string, options?: request.CoreOptions | undefined, callback?: request.RequestCallback | undefined): void;
put(uri: string, callback?: request.RequestCallback | undefined): void;
put(options: (request.UriOptions & request.CoreOptions), callback?: request.RequestCallback | undefined): void;
private makeRequest(method, callStart, numberOfCalls, uriOrOptions, callbackOrOptionsOrUndefined?, callBackOrUndefined?);
private getCallableRequestMethod(method);
private handleResponse(error, response, body, callBackOrUndefined, uri, options, callDetails);
private getMaximumRetryLimitExceededMessage(callStart, numberOfCalls);
private didRequestTimeout(callStart);
private shouldRequestBeRetried(error, response);
private isApiError(body);
private retryRequest(method, uri, options, callBackOrUndefined, response, body, callDetails);
}