UNPKG

node-web-mvc

Version:
53 lines (52 loc) 1.86 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const http_1 = require("http"); const WorkerSocket_1 = __importDefault(require("./WorkerSocket")); const WorkerInvoker_1 = __importDefault(require("./WorkerInvoker")); class WorkerServerResponse extends http_1.ServerResponse { write(chunk, arg1, cb) { this.socket.write(chunk, arg1, cb); this.isHeaderSent = true; return true; } writeHead(statusCode, statusMessage, headers) { this.invoker.invoke('response', 'writeHead', [statusCode, statusMessage, headers]); this.isHeaderSent = true; return this; } end(chunk, arg1, cb) { this.socket.end(chunk, arg1, cb); this.isHeaderSent = true; return this; } setHeader(name, value) { this.invoker.invoke('response', 'setHeader', [name, value]); super.setHeader(name, value); return this; } constructor(req) { super(req); this.assignSocket(new WorkerSocket_1.default(req.workerPort, 'responseSocket')); this.invoker = new WorkerInvoker_1.default(req.workerPort); Object.defineProperty(this, 'headersSent', { get: () => this.isHeaderSent, }); } addListener(event, listener) { super.addListener(event, listener); this.invoker.addEventListener('response', event, listener); return this; } once(event, listener) { super.once(event, listener); this.invoker.addEventListener('response', event, listener, true); return this; } on(event, listener) { return this.addListener('response', listener); } } exports.default = WorkerServerResponse;