UNPKG

@veams/http-service

Version:

Generic and easy http service class

58 lines (57 loc) 1.71 kB
/** * Represents a simple http service, which returns a promise. * * @module http * @author Sebastian Fitzner */ import Base from '@veams/base'; export interface RequestObject { method?: string; url?: string; type?: string; data?: string; } export interface ServiceOptions { url?: string; type?: string; method?: string; fetchOnInit?: boolean; headers?: object; } export interface Parser { type: string; request: Request; } export interface Request { responseText: string; status: number; statusText: string; } declare class HttpService extends Base { data: any; options: ServiceOptions; constructor(options?: ServiceOptions); initialize(): Promise<{}>; requestWillOpen(request: XMLHttpRequest, obj: any): void; requestDidOpen(request: XMLHttpRequest, obj: any): void; requestWillLoad(request: XMLHttpRequest, obj: any): void; requestDidLoad(request: XMLHttpRequest, obj: any): void; requestWillSend(request: XMLHttpRequest, obj: any): void; requestDidSend(request: XMLHttpRequest, obj: any): void; promiseRequest(obj?: RequestObject): Promise<{}>; get(url?: any): Promise<{}>; delete(url?: any): Promise<{}>; post(url: any, data: any): Promise<{}>; put(url: any, data: any): Promise<{}>; /** * The default parser, which returns the response text. * This method can be overridden. * * @param {Object} obj - Generic object. * @param {Object} obj.request - Request object. * @param {String} obj.type - Define a type for the response text. * @param {Object} obj.data - Data object. */ parser(obj: Parser): object; } export default HttpService;