UNPKG

@withjoy/sdk-js

Version:
76 lines (75 loc) 2.06 kB
export declare type METHODS = 'GET' | 'PUT' | 'POST' | 'DELETE'; export interface IHeader { name: string; data: string; } export interface HttpDataOptions extends HttpOptions { json?: Object; } export interface HttpOptions { pathname: Array<string>; headers?: Array<IHeader>; qs?: Object; } export declare class HttpResource { baseUrl: string; withCredentials: boolean; headers: Array<IHeader>; contentJson: IHeader; /** * GET requests * @param {string} url * @param {Array<IHeader>} headers */ get(url: string, headers?: Array<IHeader>): Promise<any>; /** * PUT requests * @param {string} url * @param {Array<IHeader>} headers * @param {any} [data] */ put(url: string, headers?: Array<IHeader>, data?: any): Promise<any>; /** * POST requests * @param {string} url * @param {Array<IHeader>} headers * @param {any} [data] */ post(url: string, headers?: Array<IHeader>, data?: any): Promise<any>; /** * DELETE requests * @param {string} url * @param {Array<IHeader>} headers */ delete(url: string, headers?: Array<IHeader>): Promise<any>; /** * Sets the base url which is used on every request * @param {string} url */ setBaseUrl(url: string): void; /** * Adds a header to a list which are added to every request * @param {IHeader} header * @returns {Function} to remove header */ addHeader(header: IHeader): Function; /** * * @param options * @returns url with query strings added, headers, data */ parseOptions(options: HttpDataOptions): { url: string; headers: IHeader[]; data: Object; }; /** * xhr requests * @param {string} url * @param {string} method * @param {Array<IHeader>} headers * @param {any} [data] * @returns Promise */ private request; }