@smash-sdk/core
Version:
Smash Sdk Core
38 lines (37 loc) • 1.67 kB
TypeScript
/// <reference types="node" />
/// <reference types="node" />
import { ResponseError, SDKError } from '../errors/sdkError';
import { RefreshTokenManager } from '../helper/refreshTokenManager';
import { HttpClient, HttpHeaders, HttpQueryParameters, HttpRequest, HttpResponse } from '../http';
import { ClientParameters, Global, RefreshTokenMethod, Region, ServiceType } from './types';
import { Agent as HttpAgent } from 'http';
import { Agent as HttpsAgent } from 'https';
export declare class Client {
service: string;
token?: string;
client: HttpClient;
region?: Region | Global;
host: string;
userAgent: string;
refreshTokenMethod?: RefreshTokenMethod;
refreshTokenManager?: RefreshTokenManager;
constructor(params: ClientParameters & {
service: string;
type: ServiceType;
userAgent: string;
});
getRegion(params: ClientParameters & {
type: ServiceType;
}): Region | Global | undefined;
getHost(params: ClientParameters): string;
getTimeout(params: ClientParameters): number | undefined;
getHttpAgent(params: ClientParameters): HttpAgent | undefined;
getHttpsAgent(params: ClientParameters): HttpsAgent | undefined;
handle<T>(request: HttpRequest, retries?: number): Promise<HttpResponse<T>>;
parseResponse<ResponseBody, OutputBody>(response: HttpResponse<ResponseBody | ResponseError>, errors: {
[key: string]: typeof SDKError;
}): OutputBody;
isValidStatusCode(code: number): boolean;
protected clean(data: HttpHeaders | HttpQueryParameters): HttpHeaders | HttpQueryParameters;
protected cleanRequest(request: HttpRequest): HttpRequest;
}