http2: simplify te header validation, add test
This simplifies validation of te header and adds a test case in which array with two values is passed to param value in isIllegalConnectionSpecificHeader PR-URL: https://github.com/nodejs/node/pull/16246 Refs: https://github.com/nodejs/node/issues/14985 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
This commit is contained in:
parent
532d8b24fd
commit
1fd662c0e3
@ -360,8 +360,7 @@ function isIllegalConnectionSpecificHeader(name, value) {
|
||||
case HTTP2_HEADER_TRANSFER_ENCODING:
|
||||
return true;
|
||||
case HTTP2_HEADER_TE:
|
||||
const val = Array.isArray(value) ? value.join(', ') : value;
|
||||
return val !== 'trailers';
|
||||
return value !== 'trailers';
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
@ -266,5 +266,10 @@ common.expectsError({
|
||||
message: regex
|
||||
})(mapToHeaders({ [HTTP2_HEADER_TE]: ['abc'] }));
|
||||
|
||||
common.expectsError({
|
||||
code: 'ERR_HTTP2_INVALID_CONNECTION_HEADERS',
|
||||
message: regex
|
||||
})(mapToHeaders({ [HTTP2_HEADER_TE]: ['abc', 'trailers'] }));
|
||||
|
||||
assert(!(mapToHeaders({ te: 'trailers' }) instanceof Error));
|
||||
assert(!(mapToHeaders({ te: ['trailers'] }) instanceof Error));
|
||||
|
Loading…
x
Reference in New Issue
Block a user