Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
fixup! http: make maximum header size configurable per-stream or per-…
…server
  • Loading branch information
addaleax committed Nov 30, 2019
commit a92936adfc27adba87b5389285f0286f1519ea22
14 changes: 8 additions & 6 deletions doc/api/http.md
Original file line number Diff line number Diff line change
Expand Up @@ -2048,7 +2048,7 @@ Found'`.
added: v0.1.13
changes:
- version: REPLACEME
pr-url: https://github.com/nodejs/node/pull/?????
pr-url: https://github.com/nodejs/node/pull/30570
description: The `maxHeaderSize` option is supported now.
- version: v9.6.0, v8.12.0
pr-url: https://github.com/nodejs/node/pull/15752
Expand All @@ -2063,8 +2063,9 @@ changes:
to be used. Useful for extending the original `ServerResponse`. **Default:**
`ServerResponse`.
* `maxHeaderSize` {number} Optionally overrides the value of
[`--max-http-header-size][] for requests received by this server.
**Default:** 8KB.
[`--max-http-header-size`][] for requests received by this server, i.e.
the maximum length of request headers in bytes.
**Default:** 8192 (8KB).
* `requestListener` {Function}

* Returns: {http.Server}
Expand Down Expand Up @@ -2171,7 +2172,7 @@ This can be overridden for servers and client requests by passing the
added: v0.3.6
changes:
- version: REPLACEME
pr-url: https://github.com/nodejs/node/pull/?????
pr-url: https://github.com/nodejs/node/pull/30570
description: The `maxHeaderSize` option is supported now.
- version: v10.9.0
pr-url: https://github.com/nodejs/node/pull/21616
Expand Down Expand Up @@ -2209,8 +2210,9 @@ changes:
* `localAddress` {string} Local interface to bind for network connections.
* `lookup` {Function} Custom lookup function. **Default:** [`dns.lookup()`][].
* `maxHeaderSize` {number} Optionally overrides the value of
[`--max-http-header-size][] for requests received by this server.
**Default:** 8KB.
[`--max-http-header-size`][] for requests received from the server, i.e.
the maximum length of response headers in bytes.
**Default:** 8192 (8KB).
* `method` {string} A string specifying the HTTP request method. **Default:**
`'GET'`.
* `path` {string} Request path. Should include query string if any.
Expand Down
2 changes: 1 addition & 1 deletion lib/_http_client.js
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ function ClientRequest(input, options, cb) {
}

const maxHeaderSize = options.maxHeaderSize;
if (maxHeaderSize !== undefined && (typeof maxHeaderSize !== 'number' ||
if (maxHeaderSize !== undefined && (!Number.isSafeInteger(maxHeaderSize) ||
Comment thread
addaleax marked this conversation as resolved.
Outdated
maxHeaderSize < 0)) {
throw new ERR_INVALID_ARG_TYPE('maxHeaderSize', 'number', maxHeaderSize);
}
Expand Down
2 changes: 1 addition & 1 deletion lib/_http_server.js
Original file line number Diff line number Diff line change
Expand Up @@ -323,7 +323,7 @@ function Server(options, requestListener) {
this[kServerResponse] = options.ServerResponse || ServerResponse;

const maxHeaderSize = options.maxHeaderSize;
if (maxHeaderSize !== undefined && (typeof maxHeaderSize !== 'number' ||
if (maxHeaderSize !== undefined && (!Number.isSafeInteger(maxHeaderSize) ||
maxHeaderSize < 0)) {
throw new ERR_INVALID_ARG_TYPE('maxHeaderSize', 'number', maxHeaderSize);
}
Expand Down