2
2
3
3
const {
4
4
ArrayIsArray,
5
+ ArrayPrototypePush,
5
6
Boolean,
7
+ FunctionPrototypeBind,
6
8
ObjectAssign,
7
9
ObjectCreate,
8
10
ObjectKeys,
9
11
ObjectPrototypeHasOwnProperty,
12
+ ReflectApply,
10
13
ReflectGetPrototypeOf,
14
+ StringPrototypeToLowerCase,
15
+ StringPrototypeTrim,
11
16
Symbol,
12
17
} = primordials ;
13
18
@@ -138,7 +143,7 @@ function onStreamTrailers(trailers, flags, rawTrailers) {
138
143
const request = this [ kRequest ] ;
139
144
if ( request !== undefined ) {
140
145
ObjectAssign ( request [ kTrailers ] , trailers ) ;
141
- request [ kRawTrailers ] . push ( ...rawTrailers ) ;
146
+ ArrayPrototypePush ( request [ kRawTrailers ] , ...rawTrailers ) ;
142
147
}
143
148
}
144
149
@@ -200,7 +205,7 @@ const proxySocketHandler = {
200
205
case 'end' :
201
206
case 'emit' :
202
207
case 'destroy' :
203
- return stream [ prop ] . bind ( stream ) ;
208
+ return FunctionPrototypeBind ( stream [ prop ] , stream ) ;
204
209
case 'writable' :
205
210
case 'destroyed' :
206
211
return stream [ prop ] ;
@@ -212,8 +217,8 @@ const proxySocketHandler = {
212
217
case 'setTimeout' :
213
218
const session = stream . session ;
214
219
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 ) ;
217
222
case 'write' :
218
223
case 'read' :
219
224
case 'pause' :
@@ -223,7 +228,9 @@ const proxySocketHandler = {
223
228
const ref = stream . session !== undefined ?
224
229
stream . session [ kSocket ] : stream ;
225
230
const value = ref [ prop ] ;
226
- return typeof value === 'function' ? value . bind ( ref ) : value ;
231
+ return typeof value === 'function' ?
232
+ FunctionPrototypeBind ( value , ref ) :
233
+ value ;
227
234
}
228
235
} ,
229
236
getPrototypeOf ( stream ) {
@@ -394,7 +401,7 @@ class Http2ServerRequest extends Readable {
394
401
395
402
set method ( method ) {
396
403
validateString ( method , 'method' ) ;
397
- if ( method . trim ( ) === '' )
404
+ if ( StringPrototypeTrim ( method ) === '' )
398
405
throw new ERR_INVALID_ARG_VALUE ( 'method' , method ) ;
399
406
400
407
this [ kHeaders ] [ HTTP2_HEADER_METHOD ] = method ;
@@ -554,7 +561,7 @@ class Http2ServerResponse extends Stream {
554
561
555
562
setTrailer ( name , value ) {
556
563
validateString ( name , 'name' ) ;
557
- name = name . trim ( ) . toLowerCase ( ) ;
564
+ name = StringPrototypeToLowerCase ( StringPrototypeTrim ( name ) ) ;
558
565
assertValidHeader ( name , value ) ;
559
566
this [ kTrailers ] [ name ] = value ;
560
567
}
@@ -570,7 +577,7 @@ class Http2ServerResponse extends Stream {
570
577
571
578
getHeader ( name ) {
572
579
validateString ( name , 'name' ) ;
573
- name = name . trim ( ) . toLowerCase ( ) ;
580
+ name = StringPrototypeToLowerCase ( StringPrototypeTrim ( name ) ) ;
574
581
return this [ kHeaders ] [ name ] ;
575
582
}
576
583
@@ -585,7 +592,7 @@ class Http2ServerResponse extends Stream {
585
592
586
593
hasHeader ( name ) {
587
594
validateString ( name , 'name' ) ;
588
- name = name . trim ( ) . toLowerCase ( ) ;
595
+ name = StringPrototypeToLowerCase ( StringPrototypeTrim ( name ) ) ;
589
596
return ObjectPrototypeHasOwnProperty ( this [ kHeaders ] , name ) ;
590
597
}
591
598
@@ -594,7 +601,7 @@ class Http2ServerResponse extends Stream {
594
601
if ( this [ kStream ] . headersSent )
595
602
throw new ERR_HTTP2_HEADERS_SENT ( ) ;
596
603
597
- name = name . trim ( ) . toLowerCase ( ) ;
604
+ name = StringPrototypeToLowerCase ( StringPrototypeTrim ( name ) ) ;
598
605
599
606
if ( name === 'date' ) {
600
607
this [ kState ] . sendDate = false ;
@@ -614,7 +621,7 @@ class Http2ServerResponse extends Stream {
614
621
}
615
622
616
623
[ kSetHeader ] ( name , value ) {
617
- name = name . trim ( ) . toLowerCase ( ) ;
624
+ name = StringPrototypeToLowerCase ( StringPrototypeTrim ( name ) ) ;
618
625
assertValidHeader ( name , value ) ;
619
626
620
627
if ( ! isConnectionHeaderAllowed ( name , value ) ) {
@@ -755,7 +762,7 @@ class Http2ServerResponse extends Stream {
755
762
this . writeHead ( this [ kState ] . statusCode ) ;
756
763
757
764
if ( this [ kState ] . closed || stream . destroyed )
758
- onStreamCloseResponse . call ( stream ) ;
765
+ ReflectApply ( onStreamCloseResponse , stream , [ ] ) ;
759
766
else
760
767
stream . end ( ) ;
761
768
0 commit comments