UNPKG

vox-core

Version:

Runtime de aplicaciones multiplataforma

54 lines 2.42 kB
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;