| /// <reference types="node" /> |
| /// <reference types="node" /> |
| /// <reference types="node" /> |
| import * as http from 'http'; |
| import * as https from 'https'; |
| import { HttpClientResponse } from './index'; |
| export interface HttpClient { |
| options(requestUrl: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise<HttpClientResponse>; |
| get(requestUrl: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise<HttpClientResponse>; |
| del(requestUrl: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise<HttpClientResponse>; |
| post(requestUrl: string, data: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise<HttpClientResponse>; |
| patch(requestUrl: string, data: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise<HttpClientResponse>; |
| put(requestUrl: string, data: string, additionalHeaders?: http.OutgoingHttpHeaders): Promise<HttpClientResponse>; |
| sendStream(verb: string, requestUrl: string, stream: NodeJS.ReadableStream, additionalHeaders?: http.OutgoingHttpHeaders): Promise<HttpClientResponse>; |
| request(verb: string, requestUrl: string, data: string | NodeJS.ReadableStream, headers: http.OutgoingHttpHeaders): Promise<HttpClientResponse>; |
| requestRaw(info: RequestInfo, data: string | NodeJS.ReadableStream): Promise<HttpClientResponse>; |
| requestRawWithCallback(info: RequestInfo, data: string | NodeJS.ReadableStream, onResult: (err?: Error, res?: HttpClientResponse) => void): void; |
| } |
| export interface RequestHandler { |
| prepareRequest(options: http.RequestOptions): void; |
| canHandleAuthentication(response: HttpClientResponse): boolean; |
| handleAuthentication(httpClient: HttpClient, requestInfo: RequestInfo, data: string | NodeJS.ReadableStream | null): Promise<HttpClientResponse>; |
| } |
| export interface RequestInfo { |
| options: http.RequestOptions; |
| parsedUrl: URL; |
| httpModule: typeof http | typeof https; |
| } |
| export interface RequestOptions { |
| headers?: http.OutgoingHttpHeaders; |
| socketTimeout?: number; |
| ignoreSslError?: boolean; |
| allowRedirects?: boolean; |
| allowRedirectDowngrade?: boolean; |
| maxRedirects?: number; |
| maxSockets?: number; |
| keepAlive?: boolean; |
| deserializeDates?: boolean; |
| allowRetries?: boolean; |
| maxRetries?: number; |
| } |
| export interface TypedResponse<T> { |
| statusCode: number; |
| result: T | null; |
| headers: http.IncomingHttpHeaders; |
| } |