vox-core
Version:
Runtime de aplicaciones multiplataforma
54 lines • 2.42 kB
JavaScript
var $mod$0 = core.VW.Ecma2015.Utils.module(require('http'));
var SR = {
writeHead: $mod$0.ServerResponse.prototype.writeHead,
write: $mod$0.ServerResponse.prototype.write,
'setHeader': $mod$0.ServerResponse.prototype.setHeader
};
{
var ServerResponseExtender = function ServerResponseExtender() {
ServerResponseExtender.$constructor ? ServerResponseExtender.$constructor.apply(this, arguments) : ServerResponseExtender.$superClass && ServerResponseExtender.$superClass.apply(this, arguments);
};
ServerResponseExtender.prototype.setHeader = function () {
var e = { arguments: arguments };
this.emit('setheader', e);
if (!e.arguments[0])
return;
return SR.setHeader.apply(this, e.arguments);
};
ServerResponseExtender.prototype.setCookie = function (cookie) {
if (!(cookie instanceof core.VW.Http.ServerCookie)) {
throw new core.System.Exception('Debe ser un objeto VW.Http.ServerCookie');
}
this._cookie = cookie;
var json = cookie.toJSON();
for (var id in json) {
this.setHeader('set-cookie', cookie.toStr(id));
}
};
ServerResponseExtender.prototype.writeHead = function () {
var v = SR.writeHead.apply(this, arguments);
this.emit('headerssent');
return v;
};
ServerResponseExtender.prototype.getHeaders = function () {
return this._headers;
};
ServerResponseExtender.prototype.write = function (data) {
var v = SR.write.apply(this, arguments);
if (this.emitWrite && data && data.length > 0) {
if (!Buffer.isBuffer(data))
data = new Buffer(data);
this.emit('data', data);
}
if (this.headersSent)
this.emit('headerssent');
return v;
};
}
$mod$0.ServerResponse.prototype.write = ServerResponseExtender.prototype.write;
$mod$0.ServerResponse.prototype.writeHead = ServerResponseExtender.prototype.writeHead;
$mod$0.ServerResponse.prototype.getHeaders = ServerResponseExtender.prototype.getHeaders;
$mod$0.ServerResponse.prototype.setHeader = ServerResponseExtender.prototype.setHeader;
$mod$0.ServerResponse.prototype.setCookie = ServerResponseExtender.prototype.setCookie;
$mod$0.ServerResponse.prototype.__defineSetter__('cookie', ServerResponseExtender.prototype.setCookie);
exports.default = ServerResponseExtender;