///
///
///
///
///
import type { ServerResponse, OutgoingHttpHeaders, OutgoingHttpHeader, IncomingMessage, IncomingHttpHeaders } from 'http';
import type { Socket } from 'net';
import Stream from 'stream';
interface MockedRequestOptions {
url: string;
headers: IncomingHttpHeaders;
method: string;
readable?: Stream.Readable;
socket?: Socket | null;
}
export declare class MockedRequest extends Stream.Readable implements IncomingMessage {
url: string;
readonly statusCode?: number | undefined;
readonly statusMessage?: string | undefined;
readonly headers: IncomingHttpHeaders;
readonly method: string;
readonly httpVersion = "1.0";
readonly httpVersionMajor = 1;
readonly httpVersionMinor = 0;
private bodyReadable?;
socket: Socket;
constructor({ url, headers, method, socket, readable, }: MockedRequestOptions);
get headersDistinct(): NodeJS.Dict;
_read(size: number): void;
/**
* The `connection` property is just an alias for the `socket` property.
*
* @deprecated — since v13.0.0 - Use socket instead.
*/
get connection(): Socket;
get aborted(): boolean;
get complete(): boolean;
get trailers(): NodeJS.Dict;
get trailersDistinct(): NodeJS.Dict;
get rawTrailers(): string[];
get rawHeaders(): string[];
setTimeout(): this;
}
export interface MockedResponseOptions {
statusCode?: number;
socket?: Socket | null;
headers?: OutgoingHttpHeaders;
resWriter?: (chunk: Uint8Array | Buffer | string) => boolean;
}
export declare class MockedResponse extends Stream.Writable implements ServerResponse {
statusCode: number;
statusMessage: string;
finished: boolean;
headersSent: boolean;
readonly socket: Socket | null;
private resWriter;
readonly headPromise: Promise;
private headPromiseResolve?;
constructor(res?: MockedResponseOptions);
appendHeader(name: string, value: string | string[]): this;
/**
* The `connection` property is just an alias for the `socket` property.
*
* @deprecated — since v13.0.0 - Use socket instead.
*/
get connection(): Socket | null;
write(chunk: Uint8Array | Buffer | string): boolean;
end(): this;
/**
* This method is a no-op because the `MockedResponse` instance is not
* actually connected to a socket. This method is not specified on the
* interface type for `ServerResponse` but is called by Node.js.
*
* @see https://github.com/nodejs/node/pull/7949
*/
_implicitHeader(): void;
_write(chunk: Buffer | string, _encoding: string, callback: () => void): void;
writeHead(statusCode: number, statusMessage?: string | undefined, headers?: OutgoingHttpHeaders | OutgoingHttpHeader[] | undefined): this;
writeHead(statusCode: number, headers?: OutgoingHttpHeaders | OutgoingHttpHeader[] | undefined): this;
hasHeader(name: string): boolean;
getHeader(name: string): string | undefined;
getHeaders(): OutgoingHttpHeaders;
getHeaderNames(): string[];
setHeader(name: string, value: OutgoingHttpHeader): this;
removeHeader(name: string): void;
get strictContentLength(): boolean;
writeEarlyHints(): void;
get req(): IncomingMessage;
assignSocket(): void;
detachSocket(): void;
writeContinue(): void;
writeProcessing(): void;
get upgrading(): boolean;
get chunkedEncoding(): boolean;
get shouldKeepAlive(): boolean;
get useChunkedEncodingByDefault(): boolean;
get sendDate(): boolean;
setTimeout(): this;
addTrailers(): void;
flushHeaders(): void;
}
interface RequestResponseMockerOptions {
url: string;
headers?: IncomingHttpHeaders;
method?: string;
bodyReadable?: Stream.Readable;
resWriter?: (chunk: Uint8Array | Buffer | string) => boolean;
socket?: Socket | null;
}
export declare function createRequestResponseMocks({ url, headers, method, bodyReadable, resWriter, socket, }: RequestResponseMockerOptions): {
req: MockedRequest;
res: MockedResponse;
};
export {};