UNPKG

@ne1410s/http

Version:

Lightweight ES5 script to provide http utilities

30 lines (29 loc) 1.09 kB
import { OperationBase } from './base'; import { Ctor } from '@ne1410s/codl'; export declare type Verb = 'get' | 'head' | 'post' | 'put' | 'patch' | 'delete'; export declare type BodylessVerb = 'get' | 'head'; export declare abstract class HttpOperation<TRequest, TResponse> extends OperationBase<TRequest, TResponse> { readonly verb: Verb; readonly headers: Headers; protected _url: string; get url(): string; constructor(url: string, verb?: Verb, headers?: HeadersInit, requestType?: Ctor<TRequest>, responseType?: Ctor<TResponse>); /** * * @param requestData Request data. */ abstract serialise(requestData: TRequest): Promise<string>; /** * * @param response The http response. * @param requestData Request data. */ abstract deserialise(response: Response, requestData: TRequest): Promise<TResponse>; /** * @inheritdoc * @throws {SerialisationError} * @throws {DeserialisationError} */ protected invokeInternal(requestData: TRequest): Promise<TResponse>; private serialiseQuery; }