astro-ghostcms/.pnpm-store/v3/files/ae/34f8d9bca2686482d4ad609585a...

30 lines
813 B
Plaintext
Raw Normal View History

2024-02-14 14:10:47 +00:00
import {IncomingMessage} from 'node:http';
/**
Mimic a [Node.js HTTP response stream](https://nodejs.org/api/http.html#http_class_http_incomingmessage)
Makes `toStream` include the properties from `fromStream`.
@param fromStream - The stream to copy the properties from.
@param toStream - The stream to copy the properties to.
@return The same object as `toStream`.
@example
```
import {PassThrough as PassThroughStream} from 'node:stream';
import mimicResponse from 'mimic-response';
const responseStream = getHttpResponseStream();
const myStream = new PassThroughStream();
mimicResponse(responseStream, myStream);
console.log(myStream.statusCode);
//=> 200
```
*/
export default function mimicResponse<T extends NodeJS.ReadableStream>(
fromStream: IncomingMessage,
toStream: T,
): T & IncomingMessage;