zippycli
Version:
An unofficial Zippyshare CLI
98 lines (97 loc) • 2.43 kB
TypeScript
/// <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;
}