File tree Expand file tree Collapse file tree 3 files changed +36
-0
lines changed Expand file tree Collapse file tree 3 files changed +36
-0
lines changed Original file line number Diff line number Diff line change @@ -1912,6 +1912,16 @@ added: v0.5.9
19121912Global instance of ` Agent ` which is used as the default for all HTTP client
19131913requests.
19141914
1915+ ## http.maxHeaderSize
1916+ <!-- YAML
1917+ added: REPLACEME
1918+ -->
1919+
1920+ * {number}
1921+
1922+ Read-only property specifying the maximum allowed size of HTTP headers in bytes.
1923+ Defaults to 8KB. Configurable using the [ ` --max-http-header-size ` ] [ ] CLI option.
1924+
19151925## http.request(options[ , callback] )
19161926## http.request(url[ , options] [ , callback ] )
19171927<!-- YAML
@@ -2097,6 +2107,7 @@ will be emitted in the following order:
20972107Note that setting the ` timeout ` option or using the ` setTimeout() ` function will
20982108not abort the request or do anything besides add a ` 'timeout' ` event.
20992109
2110+ [ `--max-http-header-size` ] : cli.html#cli_max_http_header_size_size
21002111[ `'checkContinue'` ] : #http_event_checkcontinue
21012112[ `'request'` ] : #http_event_request
21022113[ `'response'` ] : #http_event_response
Original file line number Diff line number Diff line change @@ -32,6 +32,7 @@ const {
3232 Server,
3333 ServerResponse
3434} = require ( '_http_server' ) ;
35+ let maxHeaderSize ;
3536
3637function createServer ( opts , requestListener ) {
3738 return new Server ( opts , requestListener ) ;
@@ -62,3 +63,16 @@ module.exports = {
6263 get,
6364 request
6465} ;
66+
67+ Object . defineProperty ( module . exports , 'maxHeaderSize' , {
68+ configurable : true ,
69+ enumerable : true ,
70+ get ( ) {
71+ if ( maxHeaderSize === undefined ) {
72+ const { getOptionValue } = require ( 'internal/options' ) ;
73+ maxHeaderSize = getOptionValue ( '--max-http-header-size' ) ;
74+ }
75+
76+ return maxHeaderSize ;
77+ }
78+ } ) ;
Original file line number Diff line number Diff line change 1+ 'use strict' ;
2+
3+ require ( '../common' ) ;
4+ const assert = require ( 'assert' ) ;
5+ const { spawnSync } = require ( 'child_process' ) ;
6+ const http = require ( 'http' ) ;
7+
8+ assert . strictEqual ( http . maxHeaderSize , 8 * 1024 ) ;
9+ const child = spawnSync ( process . execPath , [ '--max-http-header-size=10' , '-p' ,
10+ 'http.maxHeaderSize' ] ) ;
11+ assert . strictEqual ( + child . stdout . toString ( ) . trim ( ) , 10 ) ;
You can’t perform that action at this time.
0 commit comments