///
import { IncomingMessage as IncomingHttpMessage, IncomingHttpHeaders } from 'http';
import { PassThrough, Readable } from 'stream';
import { Socket } from 'net';
import { Dict } from '../utils/types';
export interface MockMessageOptions {
method?: string;
url?: string;
headers?: IncomingHttpHeaders;
trailers?: Dict;
httpVersion?: string;
json?: any;
body?: Readable | Buffer | string;
}
/**
* A mock request used to simluate an HTTP request to the application during
* tests. You shouldn't need to instantiate these directly - instead, use an
* AppAcceptance test.
*
* @package test
*/
export default class MockRequest extends PassThrough implements IncomingHttpMessage {
httpVersion: string;
readonly httpVersionMajor: number;
readonly httpVersionMinor: number;
connection: Socket;
readonly socket: Socket;
headers: IncomingHttpHeaders;
readonly rawHeaders: string[];
method: string;
url: string;
trailers: Dict;
readonly rawTrailers: string[];
readable: boolean;
constructor(options?: MockMessageOptions);
setTimeout(msecs: number, callback: () => void): this;
destroy(): void;
}