12345678910111213141516171819202122232425262728293031323334 |
- '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;
|