@@ -314,21 +314,21 @@ function _storeHeader(firstLine, headers) {
314
314
if ( state . expect ) this . _send ( '' ) ;
315
315
}
316
316
317
- function storeHeader ( self , state , field , value , validate ) {
317
+ function storeHeader ( self , state , key , value , validate ) {
318
318
if ( validate ) {
319
- if ( ! checkIsHttpToken ( field ) ) {
319
+ if ( typeof key !== 'string' || ! key || ! checkIsHttpToken ( key ) ) {
320
320
throw new TypeError (
321
- 'Header name must be a valid HTTP Token ["' + field + '"]' ) ;
321
+ 'Header name must be a valid HTTP Token ["' + key + '"]' ) ;
322
322
}
323
323
if ( value === undefined ) {
324
- throw new Error ( 'Header "%s" value must not be undefined' , field ) ;
324
+ throw new Error ( 'Header "%s" value must not be undefined' , key ) ;
325
325
} else if ( checkInvalidHeaderChar ( value ) ) {
326
- debug ( 'Header "%s" contains invalid characters' , field ) ;
326
+ debug ( 'Header "%s" contains invalid characters' , key ) ;
327
327
throw new TypeError ( 'The header content contains invalid characters' ) ;
328
328
}
329
329
}
330
- state . header += field + ': ' + escapeHeaderValue ( value ) + CRLF ;
331
- matchHeader ( self , state , field , value ) ;
330
+ state . header += key + ': ' + escapeHeaderValue ( value ) + CRLF ;
331
+ matchHeader ( self , state , key , value ) ;
332
332
}
333
333
334
334
function matchConnValue ( self , state , value ) {
@@ -374,7 +374,7 @@ function matchHeader(self, state, field, value) {
374
374
}
375
375
376
376
function validateHeader ( msg , name , value ) {
377
- if ( ! checkIsHttpToken ( name ) )
377
+ if ( typeof name !== 'string' || ! name || ! checkIsHttpToken ( name ) )
378
378
throw new TypeError (
379
379
'Header name must be a valid HTTP Token ["' + name + '"]' ) ;
380
380
if ( value === undefined )
@@ -568,7 +568,7 @@ OutgoingMessage.prototype.addTrailers = function addTrailers(headers) {
568
568
field = key ;
569
569
value = headers [ key ] ;
570
570
}
571
- if ( ! checkIsHttpToken ( field ) ) {
571
+ if ( typeof field !== 'string' || ! field || ! checkIsHttpToken ( field ) ) {
572
572
throw new TypeError (
573
573
'Trailer name must be a valid HTTP Token ["' + field + '"]' ) ;
574
574
}
0 commit comments