| /// <reference types="node" /> | |
| import http = require('http'); | |
| export interface IHeaders { | |
| [key: string]: any; | |
| } | |
| export interface IHttpClient { | |
| options(requestUrl: string, additionalHeaders?: IHeaders): Promise<IHttpClientResponse>; | |
| get(requestUrl: string, additionalHeaders?: IHeaders): Promise<IHttpClientResponse>; | |
| del(requestUrl: string, additionalHeaders?: IHeaders): Promise<IHttpClientResponse>; | |
| post(requestUrl: string, data: string, additionalHeaders?: IHeaders): Promise<IHttpClientResponse>; | |
| patch(requestUrl: string, data: string, additionalHeaders?: IHeaders): Promise<IHttpClientResponse>; | |
| put(requestUrl: string, data: string, additionalHeaders?: IHeaders): Promise<IHttpClientResponse>; | |
| sendStream(verb: string, requestUrl: string, stream: NodeJS.ReadableStream, additionalHeaders?: IHeaders): Promise<IHttpClientResponse>; | |
| request(verb: string, requestUrl: string, data: string | NodeJS.ReadableStream, headers: IHeaders): Promise<IHttpClientResponse>; | |
| requestRaw(info: IRequestInfo, data: string | NodeJS.ReadableStream): Promise<IHttpClientResponse>; | |
| requestRawWithCallback(info: IRequestInfo, data: string | NodeJS.ReadableStream, onResult: (err: any, res: IHttpClientResponse) => void): void; | |
| } | |
| export interface IRequestHandler { | |
| prepareRequest(options: http.RequestOptions): void; | |
| canHandleAuthentication(response: IHttpClientResponse): boolean; | |
| handleAuthentication(httpClient: IHttpClient, requestInfo: IRequestInfo, objs: any): Promise<IHttpClientResponse>; | |
| } | |
| export interface IHttpClientResponse { | |
| message: http.IncomingMessage; | |
| readBody(): Promise<string>; | |
| } | |
| export interface IRequestInfo { | |
| options: http.RequestOptions; | |
| parsedUrl: URL; | |
| httpModule: any; | |
| } | |
| export interface IRequestOptions { | |
| headers?: IHeaders; | |
| socketTimeout?: number; | |
| ignoreSslError?: boolean; | |
| allowRedirects?: boolean; | |
| allowRedirectDowngrade?: boolean; | |
| maxRedirects?: number; | |
| maxSockets?: number; | |
| keepAlive?: boolean; | |
| deserializeDates?: boolean; | |
| allowRetries?: boolean; | |
| maxRetries?: number; | |
| } | |
| export interface ITypedResponse<T> { | |
| statusCode: number; | |
| result: T | null; | |
| headers: Object; | |
| } |