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