@withjoy/sdk-js
Version:
Joy Javascript SDK
76 lines (75 loc) • 2.06 kB
TypeScript
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;
}