@@ -53,8 +53,7 @@ module.exports = class WrapHandler {
5353 onRequestUpgrade ( controller , statusCode , headers , socket ) {
5454 const rawHeaders = [ ]
5555 for ( const [ key , val ] of Object . entries ( headers ) ) {
56- // TODO (fix): What if val is Array
57- rawHeaders . push ( Buffer . from ( key ) , Buffer . from ( val ) )
56+ rawHeaders . push ( Buffer . from ( key ) , Array . isArray ( val ) ? val . map ( v => Buffer . from ( v ) ) : Buffer . from ( val ) )
5857 }
5958
6059 this . #handler. onUpgrade ?. ( statusCode , rawHeaders , socket )
@@ -63,8 +62,7 @@ module.exports = class WrapHandler {
6362 onResponseStart ( controller , statusCode , headers , statusMessage ) {
6463 const rawHeaders = [ ]
6564 for ( const [ key , val ] of Object . entries ( headers ) ) {
66- // TODO (fix): What if val is Array
67- rawHeaders . push ( Buffer . from ( key ) , Buffer . from ( val ) )
65+ rawHeaders . push ( Buffer . from ( key ) , Array . isArray ( val ) ? val . map ( v => Buffer . from ( v ) ) : Buffer . from ( val ) )
6866 }
6967
7068 if ( this . #handler. onHeaders ?. ( statusCode , rawHeaders , ( ) => controller . resume ( ) , statusMessage ) === false ) {
@@ -81,8 +79,7 @@ module.exports = class WrapHandler {
8179 onResponseEnd ( controller , trailers ) {
8280 const rawTrailers = [ ]
8381 for ( const [ key , val ] of Object . entries ( trailers ) ) {
84- // TODO (fix): What if val is Array
85- rawTrailers . push ( Buffer . from ( key ) , Buffer . from ( val ) )
82+ rawTrailers . push ( Buffer . from ( key ) , Array . isArray ( val ) ? val . map ( v => Buffer . from ( v ) ) : Buffer . from ( val ) )
8683 }
8784
8885 this . #handler. onComplete ?. ( rawTrailers )
0 commit comments