summaryrefslogtreecommitdiffhomepage
path: root/src/nodejs/unit-http/http_server.js
diff options
context:
space:
mode:
authorAndrei Belov <defan@nginx.com>2021-05-27 17:03:24 +0300
committerAndrei Belov <defan@nginx.com>2021-05-27 17:03:24 +0300
commit0afb4b5790c5a37ba6b880eb351a65fe00521fbe (patch)
treec7e0b6bed92ee62a5e8b13c945c4134e68554cec /src/nodejs/unit-http/http_server.js
parent21ff5e086ece7188df3b7338d228fa4fb7f886af (diff)
parentd06e55dfa3692e27a92ff6c2534bb083416bc0c8 (diff)
downloadunit-0afb4b5790c5a37ba6b880eb351a65fe00521fbe.tar.gz
unit-0afb4b5790c5a37ba6b880eb351a65fe00521fbe.tar.bz2
Merged with the default branch.1.24.0-1
Diffstat (limited to 'src/nodejs/unit-http/http_server.js')
-rw-r--r--src/nodejs/unit-http/http_server.js24
1 files changed, 18 insertions, 6 deletions
diff --git a/src/nodejs/unit-http/http_server.js b/src/nodejs/unit-http/http_server.js
index e59296ae..89964ec3 100644
--- a/src/nodejs/unit-http/http_server.js
+++ b/src/nodejs/unit-http/http_server.js
@@ -444,17 +444,30 @@ Server.prototype.setTimeout = function setTimeout(msecs, callback) {
Server.prototype.listen = function (...args) {
this.unit.listen();
- const cb = args.pop();
-
- if (typeof cb === 'function') {
- this.once('listening', cb);
+ if (typeof args[args.length - 1] === 'function') {
+ this.once('listening', args[args.length - 1]);
}
- this.emit('listening');
+ /*
+ * Some express.js apps use the returned server object inside the listening
+ * callback, so we timeout the listening event to occur after this function
+ * returns.
+ */
+ setImmediate(function() {
+ this.emit('listening')
+ }.bind(this))
return this;
};
+Server.prototype.address = function () {
+ return {
+ family: "IPv4",
+ address: "127.0.0.1",
+ port: 80
+ }
+}
+
Server.prototype.emit_request = function (req, res) {
if (req._websocket_handshake && this._upgradeListenerCount > 0) {
this.emit('upgrade', req, req.socket);
@@ -530,7 +543,6 @@ function connectionListener(socket) {
}
module.exports = {
- STATUS_CODES: http.STATUS_CODES,
Server,
ServerResponse,
ServerRequest,