diff options
| author | LinuxWizard42 <computerwizard@linuxmail.org> | 2022-10-12 22:54:37 +0300 | 
|---|---|---|
| committer | LinuxWizard42 <computerwizard@linuxmail.org> | 2022-10-12 22:54:37 +0300 | 
| commit | 703e03aba33f234712206769f57717ba7d92d23d (patch) | |
| tree | 0041f04ccb75bd5379c764e9fe42249fffe75fc3 /node_modules/responselike/src/index.js | |
| parent | ab6e257e6e9d9a483d7e86f220d8b209a2cd7753 (diff) | |
| download | FlashRunner-703e03aba33f234712206769f57717ba7d92d23d.tar.gz FlashRunner-703e03aba33f234712206769f57717ba7d92d23d.tar.zst | |
Added export_allowed file to make repository visible in cgit
Diffstat (limited to 'node_modules/responselike/src/index.js')
| -rw-r--r-- | node_modules/responselike/src/index.js | 34 | 
1 files changed, 34 insertions, 0 deletions
| diff --git a/node_modules/responselike/src/index.js b/node_modules/responselike/src/index.js new file mode 100644 index 0000000..b17b481 --- /dev/null +++ b/node_modules/responselike/src/index.js @@ -0,0 +1,34 @@ +'use strict'; + +const Readable = require('stream').Readable; +const lowercaseKeys = require('lowercase-keys'); + +class Response extends Readable { +	constructor(statusCode, headers, body, url) { +		if (typeof statusCode !== 'number') { +			throw new TypeError('Argument `statusCode` should be a number'); +		} +		if (typeof headers !== 'object') { +			throw new TypeError('Argument `headers` should be an object'); +		} +		if (!(body instanceof Buffer)) { +			throw new TypeError('Argument `body` should be a buffer'); +		} +		if (typeof url !== 'string') { +			throw new TypeError('Argument `url` should be a string'); +		} + +		super(); +		this.statusCode = statusCode; +		this.headers = lowercaseKeys(headers); +		this.body = body; +		this.url = url; +	} + +	_read() { +		this.push(this.body); +		this.push(null); +	} +} + +module.exports = Response; | 
