summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/api/http.md18
-rw-r--r--doc/api/http2.md12
-rw-r--r--lib/_http_server.js2
-rw-r--r--lib/https.js2
-rw-r--r--lib/internal/http2/core.js6
-rw-r--r--test/async-hooks/test-graph.http.js3
-rw-r--r--test/parallel/test-child-process-http-socket-leak.js2
7 files changed, 28 insertions, 17 deletions
diff --git a/doc/api/http.md b/doc/api/http.md
index ccd5e4b0bd..0588d7f408 100644
--- a/doc/api/http.md
+++ b/doc/api/http.md
@@ -1013,9 +1013,13 @@ Limits maximum incoming headers count. If set to 0, no limit will be applied.
### server.setTimeout([msecs][, callback])
<!-- YAML
added: v0.9.12
+changes:
+ - version: REPLACEME
+ pr-url: https://github.com/nodejs/node/pull/27558
+ description: The default timeout changed from 120s to 0 (no timeout).
-->
-* `msecs` {number} **Default:** `120000` (2 minutes)
+* `msecs` {number} **Default:** 0 (no timeout)
* `callback` {Function}
* Returns: {http.Server}
@@ -1026,16 +1030,20 @@ occurs.
If there is a `'timeout'` event listener on the Server object, then it
will be called with the timed-out socket as an argument.
-By default, the Server's timeout value is 2 minutes, and sockets are
-destroyed automatically if they time out. However, if a callback is assigned
-to the Server's `'timeout'` event, timeouts must be handled explicitly.
+By default, the Server does not timeout sockets. However, if a callback
+is assigned to the Server's `'timeout'` event, timeouts must be handled
+explicitly.
### server.timeout
<!-- YAML
added: v0.9.12
+changes:
+ - version: REPLACEME
+ pr-url: https://github.com/nodejs/node/pull/27558
+ description: The default timeout changed from 120s to 0 (no timeout).
-->
-* {number} Timeout in milliseconds. **Default:** `120000` (2 minutes).
+* {number} Timeout in milliseconds. **Default:** 0 (no timeout)
The number of milliseconds of inactivity before a socket is presumed
to have timed out.
diff --git a/doc/api/http2.md b/doc/api/http2.md
index 1416c97636..5ba4943a4d 100644
--- a/doc/api/http2.md
+++ b/doc/api/http2.md
@@ -1722,11 +1722,15 @@ server.on('stream', (stream, headers, flags) => {
#### Event: 'timeout'
<!-- YAML
added: v8.4.0
+changes:
+ - version: REPLACEME
+ pr-url: https://github.com/nodejs/node/pull/27558
+ description: The default timeout changed from 120s to 0 (no timeout).
-->
The `'timeout'` event is emitted when there is no activity on the Server for
a given number of milliseconds set using `http2server.setTimeout()`.
-**Default:** 2 minutes.
+**Default:** 0 (no timeout)
#### server.close([callback])
<!-- YAML
@@ -1743,9 +1747,13 @@ consider also using [`http2session.close()`] on active sessions.
#### server.setTimeout([msecs][, callback])
<!-- YAML
added: v8.4.0
+changes:
+ - version: REPLACEME
+ pr-url: https://github.com/nodejs/node/pull/27558
+ description: The default timeout changed from 120s to 0 (no timeout).
-->
-* `msecs` {number} **Default:** `120000` (2 minutes)
+* `msecs` {number} **Default:** 0 (no timeout)
* `callback` {Function}
* Returns: {Http2Server}
diff --git a/lib/_http_server.js b/lib/_http_server.js
index 9f62872e8e..f7884d2626 100644
--- a/lib/_http_server.js
+++ b/lib/_http_server.js
@@ -315,7 +315,7 @@ function Server(options, requestListener) {
this.on('connection', connectionListener);
- this.timeout = 2 * 60 * 1000;
+ this.timeout = 0;
this.keepAliveTimeout = 5000;
this.maxHeadersCount = null;
this.headersTimeout = 40 * 1000; // 40 seconds
diff --git a/lib/https.js b/lib/https.js
index 4e64901731..e1fc91fd96 100644
--- a/lib/https.js
+++ b/lib/https.js
@@ -71,7 +71,7 @@ function Server(opts, requestListener) {
conn.destroy(err);
});
- this.timeout = 2 * 60 * 1000;
+ this.timeout = 0;
this.keepAliveTimeout = 5000;
this.maxHeadersCount = null;
this.headersTimeout = 40 * 1000; // 40 seconds
diff --git a/lib/internal/http2/core.js b/lib/internal/http2/core.js
index 58193b41cd..6ad1668c4f 100644
--- a/lib/internal/http2/core.js
+++ b/lib/internal/http2/core.js
@@ -171,8 +171,6 @@ const kState = Symbol('state');
const kType = Symbol('type');
const kWriteGeneric = Symbol('write-generic');
-const kDefaultSocketTimeout = 2 * 60 * 1000;
-
const {
paddingBuffer,
PADDING_BUF_FRAME_LENGTH,
@@ -2680,7 +2678,7 @@ class Http2SecureServer extends TLSServer {
options = initializeTLSOptions(options);
super(options, connectionListener);
this[kOptions] = options;
- this.timeout = kDefaultSocketTimeout;
+ this.timeout = 0;
this.on('newListener', setupCompat);
if (typeof requestListener === 'function')
this.on('request', requestListener);
@@ -2702,7 +2700,7 @@ class Http2Server extends NETServer {
constructor(options, requestListener) {
super(connectionListener);
this[kOptions] = initializeOptions(options);
- this.timeout = kDefaultSocketTimeout;
+ this.timeout = 0;
this.on('newListener', setupCompat);
if (typeof requestListener === 'function')
this.on('request', requestListener);
diff --git a/test/async-hooks/test-graph.http.js b/test/async-hooks/test-graph.http.js
index 55b9b055a0..12862467a6 100644
--- a/test/async-hooks/test-graph.http.js
+++ b/test/async-hooks/test-graph.http.js
@@ -43,9 +43,6 @@ process.on('exit', function() {
{ type: 'HTTPINCOMINGMESSAGE',
id: 'httpincomingmessage:1',
triggerAsyncId: 'tcp:2' },
- { type: 'Timeout',
- id: 'timeout:2',
- triggerAsyncId: 'tcp:2' },
{ type: 'SHUTDOWNWRAP',
id: 'shutdown:1',
triggerAsyncId: 'tcp:2' } ]
diff --git a/test/parallel/test-child-process-http-socket-leak.js b/test/parallel/test-child-process-http-socket-leak.js
index 553a327753..9b284f285c 100644
--- a/test/parallel/test-child-process-http-socket-leak.js
+++ b/test/parallel/test-child-process-http-socket-leak.js
@@ -46,7 +46,7 @@ server.listen(0, common.mustCall(() => {
}, common.mustCall((res) => {
res.on('data', () => {});
res.on('end', common.mustCall(() => {
- assert.strictEqual(socket[kTimeout]._idleTimeout, -1);
+ assert.strictEqual(socket[kTimeout], null);
assert.strictEqual(socket.parser, null);
assert.strictEqual(socket._httpMessage, null);
}));