mirror of
https://github.com/musix-org/musix-oss
synced 2024-11-13 02:20:18 +00:00
51 lines
949 B
JavaScript
51 lines
949 B
JavaScript
|
|
/**
|
|
* response.js
|
|
*
|
|
* Response class provides content decoding
|
|
*/
|
|
|
|
var http = require('http');
|
|
var Headers = require('./headers');
|
|
var Body = require('./body');
|
|
|
|
module.exports = Response;
|
|
|
|
/**
|
|
* Response class
|
|
*
|
|
* @param Stream body Readable stream
|
|
* @param Object opts Response options
|
|
* @return Void
|
|
*/
|
|
function Response(body, opts) {
|
|
|
|
opts = opts || {};
|
|
|
|
this.url = opts.url;
|
|
this.status = opts.status || 200;
|
|
this.statusText = opts.statusText || http.STATUS_CODES[this.status];
|
|
this.headers = new Headers(opts.headers);
|
|
this.ok = this.status >= 200 && this.status < 300;
|
|
|
|
Body.call(this, body, opts);
|
|
|
|
}
|
|
|
|
Response.prototype = Object.create(Body.prototype);
|
|
|
|
/**
|
|
* Clone this response
|
|
*
|
|
* @return Response
|
|
*/
|
|
Response.prototype.clone = function() {
|
|
return new Response(this._clone(this), {
|
|
url: this.url
|
|
, status: this.status
|
|
, statusText: this.statusText
|
|
, headers: this.headers
|
|
, ok: this.ok
|
|
});
|
|
};
|