node-web-mvc
Version:
node spring mvc
53 lines (52 loc) • 1.86 kB
JavaScript
"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;