This app provides monitoring and information features for the common freifunk user and the technical stuff of a freifunk community.
Code base is taken from a TUM Practical Course project and added here to see if Freifunk Altdorf can use it.
https://www.freifunk-altdorf.de
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
949 B
50 lines
949 B
|
|
/** |
|
* 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 |
|
}); |
|
};
|
|
|