infobip-rtc
Version:
Infobip RTC JavaScript SDK - Infobip WebRTC API Implementation
30 lines (29 loc) • 1.23 kB
TypeScript
export interface HttpClient {
get<T, E = any>(url: string, headers?: Headers): Promise<ApiResponse<T, E>>;
post<T, E = any>(url: string, data?: any, headers?: Headers): Promise<ApiResponse<T, E>>;
put<T, E = any>(url: string, data?: any, headers?: Headers): Promise<ApiResponse<T, E>>;
delete<T, E = any>(url: string, headers?: Headers): Promise<ApiResponse<T, E>>;
}
export type ApiResponse<T, E = any> = {
ok: boolean;
statusCode: number;
data?: T;
error?: E;
};
export type Method = "POST" | "PUT" | "GET" | "DELETE";
export type Headers = {
[name: string]: string;
};
export declare class NetworkError extends Error {
constructor(message?: string);
}
export declare class DefaultHttpClient implements HttpClient {
private baseURL;
private headers?;
constructor(baseURL: string, headers?: Headers);
delete<T, E = any>(url: string, headers?: Headers): Promise<ApiResponse<T, E>>;
get<T, E = any>(url: string, headers?: Headers): Promise<ApiResponse<T, E>>;
post<T, E = any>(url: string, data?: any, headers?: Headers): Promise<ApiResponse<T, E>>;
put<T, E = any>(url: string, data?: any, headers?: Headers): Promise<ApiResponse<T, E>>;
private request;
}