HEX
Server: nginx/1.24.0
System: Linux nowruzgan 6.8.0-57-generic #59-Ubuntu SMP PREEMPT_DYNAMIC Sat Mar 15 17:40:59 UTC 2025 x86_64
User: babak (1000)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: /var/dev/shahnamag/back-end/node_modules/responselike/index.d.ts
import {Buffer} from 'node:buffer';
import {Readable as ReadableStream} from 'node:stream';

export type Options = {
	/**
	The HTTP response status code.
	*/
	readonly statusCode: number;

	/**
	The HTTP headers object.

	Keys are in lowercase.
	*/
	readonly headers: Record<string, string>;

	/**
	The response body.

	The contents will be streamable but is also exposed directly as `response.body`.
	*/
	readonly body: Buffer;

	/**
	The request URL string.
	*/
	readonly url: string;
};

/**
Returns a streamable response object similar to a [Node.js HTTP response stream](https://nodejs.org/api/http.html#http_class_http_incomingmessage).

@example
```
import Response from 'responselike';

const response = new Response({
	statusCode: 200,
	headers: {
		foo: 'bar'
	},
	body: Buffer.from('Hi!'),
	url: 'https://example.com'
});

response.statusCode;
// 200

response.headers;
// {foo: 'bar'}

response.body;
// <Buffer 48 69 21>

response.url;
// 'https://example.com'

response.pipe(process.stdout);
// 'Hi!'
```
*/
export default class Response extends ReadableStream {
	/**
	The HTTP response status code.
	*/
	readonly statusCode: number;

	/**
	The HTTP headers.

	Keys will be automatically lowercased.
	*/
	readonly headers: Record<string, string>;

	/**
	The response body.
	*/
	readonly body: Buffer;

	/**
	The request URL string.
	*/
	readonly url: string;

	constructor(options?: Options);
}