@@ -84,6 +84,9 @@ export class HttpClient {
8484            method : requestDefn . method , 
8585            signal : options . abortSignal , 
8686
87+             setDefaultHeaders : false , 
88+             headers : flattenPairedRawHeaders ( requestDefn . headers ) , 
89+ 
8790            // Low-level connection configuration: 
8891            agent, 
8992            lookup : this . getDns ( options . lookupOptions ?. servers ) , 
@@ -101,7 +104,7 @@ export class HttpClient {
101104                    ? tls . rootCertificates . concat ( additionalCAs . map ( ( {  cert } )  =>  cert ) ) 
102105                    : undefined 
103106            } ) 
104-         } ) ; 
107+         }   as   any ) ;   // Would be nice to avoid this but raw header options aren't in the types yet 
105108
106109        if  ( options . keyLogFile )  { 
107110            request . on ( 'socket' ,  ( socket )  =>  { 
@@ -114,19 +117,6 @@ export class HttpClient {
114117            request . abort ( ) ; 
115118        } ) ; 
116119
117-         // Node supports sending raw headers via [key, value, key, value] array, but if we do 
118-         // so with 'headers' above then we can't removeHeader first (to disable the defaults). 
119-         // Instead we remove headers and then manually trigger the 'raw' write behaviour. 
120- 
121-         request . removeHeader ( 'connection' ) ; 
122-         request . removeHeader ( 'transfer-encoding' ) ; 
123-         request . removeHeader ( 'content-length' ) ; 
124- 
125-         ( request  as  any ) . _storeHeader ( 
126-             request . method  +  ' '  +  request . path  +  ' HTTP/1.1\r\n' , 
127-             flattenPairedRawHeaders ( requestDefn . headers ) 
128-         ) ; 
129- 
130120        if  ( requestDefn . rawBody ?. byteLength )  { 
131121            request . end ( requestDefn . rawBody ) ; 
132122        }  else  { 
0 commit comments