@@ -87,16 +87,30 @@ module.exports = { // <--
87
87
if ( typeof rewriteCookieDomainConfig === 'string' ) { //also test for ''
88
88
rewriteCookieDomainConfig = { '*' : rewriteCookieDomainConfig } ;
89
89
}
90
- for ( var i = 0 ; i < proxyRes . rawHeaders . length ; i += 2 ) {
91
- var key = proxyRes . rawHeaders [ i ] ;
92
- var header = proxyRes . rawHeaders [ i + 1 ] ;
93
- if ( header != undefined ) {
94
- if ( rewriteCookieDomainConfig && key . toLowerCase ( ) === 'set-cookie' ) {
95
- header = common . rewriteCookieDomain ( header , rewriteCookieDomainConfig ) ;
90
+ // message.rawHeaders is added in: v0.11.6
91
+ // https://nodejs.org/api/http.html#http_message_rawheaders
92
+ if ( proxyRes . rawHeaders != undefined ) {
93
+ for ( var i = 0 ; i < proxyRes . rawHeaders . length ; i += 2 ) {
94
+ var key = proxyRes . rawHeaders [ i ] ;
95
+ var header = proxyRes . rawHeaders [ i + 1 ] ;
96
+ if ( header != undefined ) {
97
+ if ( rewriteCookieDomainConfig && key . toLowerCase ( ) === 'set-cookie' ) {
98
+ header = common . rewriteCookieDomain ( header , rewriteCookieDomainConfig ) ;
99
+ }
100
+ res . setHeader ( String ( key ) . trim ( ) , header ) ;
96
101
}
97
- res . setHeader ( String ( key ) . trim ( ) , header ) ;
98
- }
99
- } ;
102
+ } ;
103
+ } else {
104
+ Object . keys ( proxyRes . headers ) . forEach ( function ( key ) {
105
+ var header = proxyRes . headers [ key ] ;
106
+ if ( header != undefined ) {
107
+ if ( rewriteCookieDomainConfig && key . toLowerCase ( ) === 'set-cookie' ) {
108
+ header = common . rewriteCookieDomain ( header , rewriteCookieDomainConfig ) ;
109
+ }
110
+ res . setHeader ( String ( key ) . trim ( ) , header ) ;
111
+ }
112
+ } ) ;
113
+ }
100
114
} ,
101
115
102
116
/**
0 commit comments