diff --git a/lib/handler/wrap-handler.js b/lib/handler/wrap-handler.js index 47caa5fa68b..6378d706abb 100644 --- a/lib/handler/wrap-handler.js +++ b/lib/handler/wrap-handler.js @@ -53,7 +53,7 @@ module.exports = class WrapHandler { onRequestUpgrade (controller, statusCode, headers, socket) { const rawHeaders = [] for (const [key, val] of Object.entries(headers)) { - rawHeaders.push(Buffer.from(key), Array.isArray(val) ? val.map(v => Buffer.from(v)) : Buffer.from(val)) + rawHeaders.push(Buffer.from(key, 'latin1'), Array.isArray(val) ? val.map(v => Buffer.from(v, 'latin1')) : Buffer.from(val, 'latin1')) } this.#handler.onUpgrade?.(statusCode, rawHeaders, socket) @@ -62,7 +62,7 @@ module.exports = class WrapHandler { onResponseStart (controller, statusCode, headers, statusMessage) { const rawHeaders = [] for (const [key, val] of Object.entries(headers)) { - rawHeaders.push(Buffer.from(key), Array.isArray(val) ? val.map(v => Buffer.from(v)) : Buffer.from(val)) + rawHeaders.push(Buffer.from(key, 'latin1'), Array.isArray(val) ? val.map(v => Buffer.from(v, 'latin1')) : Buffer.from(val, 'latin1')) } if (this.#handler.onHeaders?.(statusCode, rawHeaders, () => controller.resume(), statusMessage) === false) { @@ -79,7 +79,7 @@ module.exports = class WrapHandler { onResponseEnd (controller, trailers) { const rawTrailers = [] for (const [key, val] of Object.entries(trailers)) { - rawTrailers.push(Buffer.from(key), Array.isArray(val) ? val.map(v => Buffer.from(v)) : Buffer.from(val)) + rawTrailers.push(Buffer.from(key, 'latin1'), Array.isArray(val) ? val.map(v => Buffer.from(v, 'latin1')) : Buffer.from(val, 'latin1')) } this.#handler.onComplete?.(rawTrailers)