@putdotio/api-client
Version:
JavaScript SDK for interacting with the put.io API.
33 lines (32 loc) • 1.13 kB
TypeScript
import { AxiosError, AxiosResponse } from 'axios';
export interface IPutioAPIClientOptions {
clientID?: number;
baseURL?: string;
webAppURL?: string;
}
export interface IPutioAPIClientResponse<T> extends AxiosResponse {
data: T & {
status: 'OK';
};
body?: T & {
status: 'OK';
};
}
export interface IPutioAPIClientErrorData {
'x-trace-id'?: string;
error_id?: string;
error_uri?: string;
error_type: string;
error_message: string;
status_code: number;
extra: Record<string, unknown>;
}
export interface IPutioAPIClientError extends AxiosError<IPutioAPIClientErrorData | string> {
data: IPutioAPIClientErrorData;
toJSON: () => IPutioAPIClientErrorData;
}
export declare type PutioAPIClientResponseInterceptor = {
onFulfilled: (response: IPutioAPIClientResponse<any>) => IPutioAPIClientResponse<any>;
onRejected: (error: IPutioAPIClientError) => Promise<IPutioAPIClientError>;
};
export declare type PutioAPIClientResponseInterceptorFactory = (options: IPutioAPIClientOptions) => PutioAPIClientResponseInterceptor;