UNPKG

zippycli

Version:
98 lines (97 loc) 2.43 kB
/// <reference types="node" /> import { Readable } from 'stream'; export interface IRequestDefaults { /** * Request method. */ method?: string; /** * Request headers. */ headers?: { [key: string]: string; }; /** * Gzip compression. */ gzip?: boolean; /** * Body encoding used for callback functions. */ encoding?: string | null; /** * Request timeout. */ timeout?: number; } export interface IRequestOptions extends IRequestDefaults { /** * URL string. */ url: string; } export interface IRequestResponse { /** * Status code. */ statusCode: number; /** * Response headers, all lowercase. */ headers: { [key: string]: string; }; } export interface IRequestStream extends Readable { on(event: 'error', listener: (e: Error) => void): this; on(event: 'response', listener: (resp: IRequestResponse) => void): this; on(event: 'data', listener: (data: Buffer | string) => void): this; on(event: 'complete', listener: (resp: IRequestResponse) => void): this; on(event: string | symbol, listener: (...args: any[]) => void): this; abort(): void; } export declare type IRequestCallback = (error: any, response: IRequestResponse, body: any) => void; export declare type IRequestFactory = (options: IRequestOptions, cb?: IRequestCallback) => IRequestStream; /** * RequestStream, similar to the deprecated request module stream. */ export declare class RequestStream extends Readable { /** * Request options. */ private _options_; /** * Abort controller. */ private _abortController_; /** * Create RequestStream. * * @param options Request options. */ constructor(options: Readonly<IRequestOptions>); /** * Abort request. */ abort(): void; /** * Read implementation. * * @param _size Size to be read. */ _read(_size: number): void; /** * Destroy implementation. * * @param error Error object. * @param callback Callback function. */ _destroy(error: Error | null, callback: (error?: Error | null) => void): void; /** * Request factory. * * @param defaults Default options. * @returns Request factory. */ static factory(defaults?: Readonly<IRequestDefaults>): IRequestFactory; }