service-model
Version:
An object oriented web service framework inspired by Windows Communication Foundation.
43 lines (42 loc) • 1.57 kB
JavaScript
var message_1 = require("./message");
var url_1 = require("./url");
var messageHeaders_1 = require("./messageHeaders");
var ExpressRequestContext = (function () {
function ExpressRequestContext(req, res) {
this._req = req;
this._res = res;
this.message = new message_1.Message(req.body, new messageHeaders_1.MessageHeaders(req.headers));
this.message.method = req.method;
this.message.url = new url_1.Url(req.originalUrl);
this.user = req.user;
}
ExpressRequestContext.prototype.abort = function () {
this._res.status(500);
this._res.end();
};
ExpressRequestContext.prototype.reply = function (message) {
this._res.status(message.statusCode).set(message.headers.toObject());
if (Buffer.isBuffer(message.body)) {
this._res.end(message.body, 'binary');
}
else if (message.body && typeof message.body.pipe === "function") {
message.body.pipe(this._res);
}
else {
if (message.body != null) {
this._res.send(message.body);
}
this._res.end();
}
};
ExpressRequestContext.prototype.addListener = function (event, listener) {
this._req.addListener(event, listener);
return this;
};
ExpressRequestContext.prototype.removeListener = function (event, listener) {
this._req.removeListener(event, listener);
return this;
};
return ExpressRequestContext;
})();
exports.ExpressRequestContext = ExpressRequestContext;