diff options
author | rickyes <mail@zhoumq.cn> | 2019-09-24 00:28:40 +0800 |
---|---|---|
committer | Michaƫl Zasso <targos@protonmail.com> | 2019-10-01 14:39:11 +0200 |
commit | a04fc86723daadbb544785a5e96f0774e35ba792 (patch) | |
tree | 6c5e61f60bdb0b6863e88124d2bb783c1a35a0fd | |
parent | 64740d44b5b1414ee1ab2fa313e9fab6def3ebf4 (diff) | |
download | node-new-a04fc86723daadbb544785a5e96f0774e35ba792.tar.gz |
http2: optimize the altsvc Max bytes limit, define and use constants
PR-URL: https://github.com/nodejs/node/pull/29673
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Minwoo Jung <minwoo@nodesource.com>
Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
-rw-r--r-- | lib/internal/http2/core.js | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/internal/http2/core.js b/lib/internal/http2/core.js index 01a8a823ad..6232df7f54 100644 --- a/lib/internal/http2/core.js +++ b/lib/internal/http2/core.js @@ -162,6 +162,7 @@ function debugSessionObj(session, message, ...args) { const kMaxFrameSize = (2 ** 24) - 1; const kMaxInt = (2 ** 32) - 1; const kMaxStreams = (2 ** 31) - 1; +const kMaxALTSVC = (2 ** 14) - 2; // eslint-disable-next-line no-control-regex const kQuotedString = /^[\x09\x20-\x5b\x5d-\x7e\x80-\xff]*$/; @@ -1498,7 +1499,7 @@ class ServerHttp2Session extends Http2Session { throw new ERR_INVALID_CHAR('alt'); // Max length permitted for ALTSVC - if ((alt.length + (origin !== undefined ? origin.length : 0)) > 16382) + if ((alt.length + (origin !== undefined ? origin.length : 0)) > kMaxALTSVC) throw new ERR_HTTP2_ALTSVC_LENGTH(); this[kHandle].altsvc(stream, origin || '', alt); @@ -1530,7 +1531,7 @@ class ServerHttp2Session extends Http2Session { len += origin.length; } - if (len > 16382) + if (len > kMaxALTSVC) throw new ERR_HTTP2_ORIGIN_LENGTH(); this[kHandle].origin(arr, count); |