Skip to content

Commit 32f9aaf

Browse files
author
ofir
committed
lib: fix prefixed headers order
Keep prefixed headers order same as sent order Fixes: #38797
1 parent 64c4b55 commit 32f9aaf

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

lib/internal/http2/util.js

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -472,7 +472,8 @@ const kNeverIndexFlag = StringFromCharCode(NGHTTP2_NV_FLAG_NO_INDEX);
472472
const kNoHeaderFlags = StringFromCharCode(NGHTTP2_NV_FLAG_NONE);
473473
function mapToHeaders(map,
474474
assertValuePseudoHeader = assertValidPseudoHeader) {
475-
let ret = '';
475+
let headers = '';
476+
let pseudoHeaders = '';
476477
let count = 0;
477478
const keys = ObjectKeys(map);
478479
const singles = new SafeSet();
@@ -520,7 +521,7 @@ function mapToHeaders(map,
520521
err = assertValuePseudoHeader(key);
521522
if (err !== undefined)
522523
throw err;
523-
ret = `${key}\0${value}\0${flags}${ret}`;
524+
pseudoHeaders += `${key}\0${value}\0${flags}`;
524525
count++;
525526
continue;
526527
}
@@ -533,16 +534,16 @@ function mapToHeaders(map,
533534
if (isArray) {
534535
for (j = 0; j < value.length; ++j) {
535536
const val = String(value[j]);
536-
ret += `${key}\0${val}\0${flags}`;
537+
headers += `${key}\0${val}\0${flags}`;
537538
}
538539
count += value.length;
539540
continue;
540541
}
541-
ret += `${key}\0${value}\0${flags}`;
542+
headers += `${key}\0${value}\0${flags}`;
542543
count++;
543544
}
544545

545-
return [ret, count];
546+
return [pseudoHeaders + headers, count];
546547
}
547548

548549
class NghttpError extends Error {

0 commit comments

Comments
 (0)