22
33const {
44 ArrayIsArray,
5+ ArrayPrototypePush,
56 Boolean,
7+ FunctionPrototypeBind,
68 ObjectAssign,
79 ObjectCreate,
810 ObjectKeys,
911 ObjectPrototypeHasOwnProperty,
12+ ReflectApply,
1013 ReflectGetPrototypeOf,
14+ StringPrototypeToLowerCase,
15+ StringPrototypeTrim,
1116 Symbol,
1217} = primordials ;
1318
@@ -138,7 +143,7 @@ function onStreamTrailers(trailers, flags, rawTrailers) {
138143 const request = this [ kRequest ] ;
139144 if ( request !== undefined ) {
140145 ObjectAssign ( request [ kTrailers ] , trailers ) ;
141- request [ kRawTrailers ] . push ( ...rawTrailers ) ;
146+ ArrayPrototypePush ( request [ kRawTrailers ] , ...rawTrailers ) ;
142147 }
143148}
144149
@@ -200,7 +205,7 @@ const proxySocketHandler = {
200205 case 'end' :
201206 case 'emit' :
202207 case 'destroy' :
203- return stream [ prop ] . bind ( stream ) ;
208+ return FunctionPrototypeBind ( stream [ prop ] , stream ) ;
204209 case 'writable' :
205210 case 'destroyed' :
206211 return stream [ prop ] ;
@@ -212,8 +217,8 @@ const proxySocketHandler = {
212217 case 'setTimeout' :
213218 const session = stream . session ;
214219 if ( session !== undefined )
215- return session . setTimeout . bind ( session ) ;
216- return stream . setTimeout . bind ( stream ) ;
220+ return FunctionPrototypeBind ( session . setTimeout , session ) ;
221+ return FunctionPrototypeBind ( stream . setTimeout , stream ) ;
217222 case 'write' :
218223 case 'read' :
219224 case 'pause' :
@@ -223,7 +228,9 @@ const proxySocketHandler = {
223228 const ref = stream . session !== undefined ?
224229 stream . session [ kSocket ] : stream ;
225230 const value = ref [ prop ] ;
226- return typeof value === 'function' ? value . bind ( ref ) : value ;
231+ return typeof value === 'function' ?
232+ FunctionPrototypeBind ( value , ref ) :
233+ value ;
227234 }
228235 } ,
229236 getPrototypeOf ( stream ) {
@@ -394,7 +401,7 @@ class Http2ServerRequest extends Readable {
394401
395402 set method ( method ) {
396403 validateString ( method , 'method' ) ;
397- if ( method . trim ( ) === '' )
404+ if ( StringPrototypeTrim ( method ) === '' )
398405 throw new ERR_INVALID_ARG_VALUE ( 'method' , method ) ;
399406
400407 this [ kHeaders ] [ HTTP2_HEADER_METHOD ] = method ;
@@ -554,7 +561,7 @@ class Http2ServerResponse extends Stream {
554561
555562 setTrailer ( name , value ) {
556563 validateString ( name , 'name' ) ;
557- name = name . trim ( ) . toLowerCase ( ) ;
564+ name = StringPrototypeToLowerCase ( StringPrototypeTrim ( name ) ) ;
558565 assertValidHeader ( name , value ) ;
559566 this [ kTrailers ] [ name ] = value ;
560567 }
@@ -570,7 +577,7 @@ class Http2ServerResponse extends Stream {
570577
571578 getHeader ( name ) {
572579 validateString ( name , 'name' ) ;
573- name = name . trim ( ) . toLowerCase ( ) ;
580+ name = StringPrototypeToLowerCase ( StringPrototypeTrim ( name ) ) ;
574581 return this [ kHeaders ] [ name ] ;
575582 }
576583
@@ -585,7 +592,7 @@ class Http2ServerResponse extends Stream {
585592
586593 hasHeader ( name ) {
587594 validateString ( name , 'name' ) ;
588- name = name . trim ( ) . toLowerCase ( ) ;
595+ name = StringPrototypeToLowerCase ( StringPrototypeTrim ( name ) ) ;
589596 return ObjectPrototypeHasOwnProperty ( this [ kHeaders ] , name ) ;
590597 }
591598
@@ -594,7 +601,7 @@ class Http2ServerResponse extends Stream {
594601 if ( this [ kStream ] . headersSent )
595602 throw new ERR_HTTP2_HEADERS_SENT ( ) ;
596603
597- name = name . trim ( ) . toLowerCase ( ) ;
604+ name = StringPrototypeToLowerCase ( StringPrototypeTrim ( name ) ) ;
598605
599606 if ( name === 'date' ) {
600607 this [ kState ] . sendDate = false ;
@@ -614,7 +621,7 @@ class Http2ServerResponse extends Stream {
614621 }
615622
616623 [ kSetHeader ] ( name , value ) {
617- name = name . trim ( ) . toLowerCase ( ) ;
624+ name = StringPrototypeToLowerCase ( StringPrototypeTrim ( name ) ) ;
618625 assertValidHeader ( name , value ) ;
619626
620627 if ( ! isConnectionHeaderAllowed ( name , value ) ) {
@@ -755,7 +762,7 @@ class Http2ServerResponse extends Stream {
755762 this . writeHead ( this [ kState ] . statusCode ) ;
756763
757764 if ( this [ kState ] . closed || stream . destroyed )
758- onStreamCloseResponse . call ( stream ) ;
765+ ReflectApply ( onStreamCloseResponse , stream , [ ] ) ;
759766 else
760767 stream . end ( ) ;
761768
0 commit comments