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){
138143const request = this [ kRequest ] ;
139144if ( request !== undefined ) {
140145ObjectAssign ( request [ kTrailers ] , trailers ) ;
141- request [ kRawTrailers ] . push ( ...rawTrailers ) ;
146+ ArrayPrototypePush ( request [ kRawTrailers ] , ...rawTrailers ) ;
142147}
143148}
144149
@@ -200,7 +205,7 @@ const proxySocketHandler ={
200205case 'end' :
201206case 'emit' :
202207case 'destroy' :
203- return stream [ prop ] . bind ( stream ) ;
208+ return FunctionPrototypeBind ( stream [ prop ] , stream ) ;
204209case 'writable' :
205210case 'destroyed' :
206211return stream [ prop ] ;
@@ -212,8 +217,8 @@ const proxySocketHandler ={
212217case 'setTimeout' :
213218const session = stream . session ;
214219if ( 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 ) ;
217222case 'write' :
218223case 'read' :
219224case 'pause' :
@@ -223,7 +228,9 @@ const proxySocketHandler ={
223228const ref = stream . session !== undefined ?
224229stream . session [ kSocket ] : stream ;
225230const 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} ,
229236getPrototypeOf ( stream ) {
@@ -394,7 +401,7 @@ class Http2ServerRequest extends Readable{
394401
395402set method ( method ) {
396403validateString ( method , 'method' ) ;
397- if ( method . trim ( ) === '' )
404+ if ( StringPrototypeTrim ( method ) === '' )
398405throw new ERR_INVALID_ARG_VALUE ( 'method' , method ) ;
399406
400407this [ kHeaders ] [ HTTP2_HEADER_METHOD ] = method ;
@@ -554,7 +561,7 @@ class Http2ServerResponse extends Stream{
554561
555562setTrailer ( name , value ) {
556563validateString ( name , 'name' ) ;
557- name = name . trim ( ) . toLowerCase ( ) ;
564+ name = StringPrototypeToLowerCase ( StringPrototypeTrim ( name ) ) ;
558565assertValidHeader ( name , value ) ;
559566this [ kTrailers ] [ name ] = value ;
560567}
@@ -570,7 +577,7 @@ class Http2ServerResponse extends Stream{
570577
571578getHeader ( name ) {
572579validateString ( name , 'name' ) ;
573- name = name . trim ( ) . toLowerCase ( ) ;
580+ name = StringPrototypeToLowerCase ( StringPrototypeTrim ( name ) ) ;
574581return this [ kHeaders ] [ name ] ;
575582}
576583
@@ -585,7 +592,7 @@ class Http2ServerResponse extends Stream{
585592
586593hasHeader ( name ) {
587594validateString ( name , 'name' ) ;
588- name = name . trim ( ) . toLowerCase ( ) ;
595+ name = StringPrototypeToLowerCase ( StringPrototypeTrim ( name ) ) ;
589596return ObjectPrototypeHasOwnProperty ( this [ kHeaders ] , name ) ;
590597}
591598
@@ -594,7 +601,7 @@ class Http2ServerResponse extends Stream{
594601if ( this [ kStream ] . headersSent )
595602throw new ERR_HTTP2_HEADERS_SENT ( ) ;
596603
597- name = name . trim ( ) . toLowerCase ( ) ;
604+ name = StringPrototypeToLowerCase ( StringPrototypeTrim ( name ) ) ;
598605
599606if ( name === 'date' ) {
600607this [ 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 ) ) ;
618625assertValidHeader ( name , value ) ;
619626
620627if ( ! isConnectionHeaderAllowed ( name , value ) ) {
@@ -755,7 +762,7 @@ class Http2ServerResponse extends Stream{
755762this . writeHead ( this [ kState ] . statusCode ) ;
756763
757764if ( this [ kState ] . closed || stream . destroyed )
758- onStreamCloseResponse . call ( stream ) ;
765+ ReflectApply ( onStreamCloseResponse , stream , [ ] ) ;
759766else
760767stream . end ( ) ;
761768
0 commit comments