Browse Source

Include port info in HTTP headers for Netty client

This commit adds the port information in the "Host" HTTP request header
for the Netty-based HTTP client.

Issue: SPR-15706
pull/1468/head
Brian Clozel 9 years ago
parent
commit
baaa84e90f
  1. 2
      spring-web/src/main/java/org/springframework/http/client/Netty4ClientHttpRequest.java
  2. 2
      spring-web/src/test/java/org/springframework/http/client/AbstractMockWebServerTestCase.java

2
spring-web/src/main/java/org/springframework/http/client/Netty4ClientHttpRequest.java

@ -142,7 +142,7 @@ class Netty4ClientHttpRequest extends AbstractAsyncClientHttpRequest implements @@ -142,7 +142,7 @@ class Netty4ClientHttpRequest extends AbstractAsyncClientHttpRequest implements
FullHttpRequest nettyRequest = new DefaultFullHttpRequest(
HttpVersion.HTTP_1_1, nettyMethod, path, this.body.buffer());
nettyRequest.headers().set(HttpHeaders.HOST, this.uri.getHost());
nettyRequest.headers().set(HttpHeaders.HOST, this.uri.getHost() + ":" + getPort(uri));
nettyRequest.headers().set(HttpHeaders.CONNECTION, "close");
for (Map.Entry<String, List<String>> entry : headers.entrySet()) {
nettyRequest.headers().add(entry.getKey(), entry.getValue());

2
spring-web/src/test/java/org/springframework/http/client/AbstractMockWebServerTestCase.java

@ -48,6 +48,8 @@ public class AbstractMockWebServerTestCase { @@ -48,6 +48,8 @@ public class AbstractMockWebServerTestCase {
public MockResponse dispatch(RecordedRequest request) throws InterruptedException {
try {
if (request.getPath().equals("/echo")) {
assertThat(request.getHeader("Host"),
Matchers.containsString("localhost:" + port));
MockResponse response = new MockResponse()
.setHeaders(request.getHeaders())
.setHeader("Content-Length", request.getBody().size())

Loading…
Cancel
Save