@@ -106,7 +106,11 @@ nodeOnly(() => {
106
106
it ( "can update the host header when used with beforeRequest" , async ( ) => {
107
107
let remoteEndpointMock = await remoteServer . forGet ( '/get' ) . thenReply ( 200 , "mocked data" ) ;
108
108
await server . forAnyRequest ( ) . thenForwardTo ( remoteServer . url , {
109
- beforeRequest : ( ) => { }
109
+ beforeRequest : ( req ) => {
110
+ // Forwarding modifications should be applied before beforeRequest:
111
+ expect ( req . url ) . to . equal ( remoteServer . urlFor ( '/get' ) ) ;
112
+ expect ( req . headers . host ) . to . equal ( `localhost:${ remoteServer . port } ` ) ;
113
+ }
110
114
} ) ;
111
115
112
116
await request . get ( server . urlFor ( "/get" ) ) ;
@@ -118,7 +122,11 @@ nodeOnly(() => {
118
122
it ( "can avoid updating the host header when used with beforeRequest" , async ( ) => {
119
123
let remoteEndpointMock = await remoteServer . forGet ( '/get' ) . thenReply ( 200 , "mocked data" ) ;
120
124
await server . forAnyRequest ( ) . thenForwardTo ( remoteServer . url , {
121
- beforeRequest : ( ) => { } ,
125
+ beforeRequest : ( req ) => {
126
+ // Forwarding modifications should be applied before beforeRequest:
127
+ expect ( req . url ) . to . equal ( remoteServer . urlFor ( '/get' ) ) ; // <-- New destination
128
+ expect ( req . headers . host ) . to . equal ( `localhost:${ server . port } ` ) ; // <-- but old Host
129
+ } ,
122
130
forwarding : { updateHostHeader : false }
123
131
} ) ;
124
132
@@ -129,7 +137,7 @@ nodeOnly(() => {
129
137
} ) ;
130
138
131
139
it ( "doesn't override the host header if beforeRequest does instead" , async ( ) => {
132
- let remoteEndpointMock = await remoteServer . forGet ( '/get' ) . thenReply ( 200 , "mocked data" ) ;
140
+ await remoteServer . forGet ( '/get' ) . thenReply ( 200 , "mocked data" ) ;
133
141
await server . forAnyRequest ( ) . thenForwardTo ( remoteServer . url , {
134
142
beforeRequest : ( ) => ( { url : 'http://never.test' } )
135
143
} ) ;
0 commit comments