From 484a4fac298fd70207e274a1b45cb34c300dfd67 Mon Sep 17 00:00:00 2001 From: Piotr Dyraga Date: Sun, 15 Dec 2013 13:19:36 +0100 Subject: [PATCH] INT-2525 Add Connection as an HTTP Response Header JIRA: https://jira.springsource.org/browse/INT-2525 INT-2525: Add test for 'Connection' header --- .../http/support/DefaultHttpHeaderMapper.java | 1 + .../integration/http/HttpProxyScenarioTests.java | 10 +++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/spring-integration-http/src/main/java/org/springframework/integration/http/support/DefaultHttpHeaderMapper.java b/spring-integration-http/src/main/java/org/springframework/integration/http/support/DefaultHttpHeaderMapper.java index 37d70c293a..6a4c9dbee2 100644 --- a/spring-integration-http/src/main/java/org/springframework/integration/http/support/DefaultHttpHeaderMapper.java +++ b/spring-integration-http/src/main/java/org/springframework/integration/http/support/DefaultHttpHeaderMapper.java @@ -211,6 +211,7 @@ public class DefaultHttpHeaderMapper implements HeaderMapper, BeanF AGE, ALLOW, CACHE_CONTROL, + CONNECTION, CONTENT_ENCODING, CONTENT_LANGUAGE, CONTENT_LENGTH, diff --git a/spring-integration-http/src/test/java/org/springframework/integration/http/HttpProxyScenarioTests.java b/spring-integration-http/src/test/java/org/springframework/integration/http/HttpProxyScenarioTests.java index 03c4203ed0..0288b38a67 100644 --- a/spring-integration-http/src/test/java/org/springframework/integration/http/HttpProxyScenarioTests.java +++ b/spring-integration-http/src/test/java/org/springframework/integration/http/HttpProxyScenarioTests.java @@ -50,6 +50,8 @@ import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.mock.web.MockHttpServletResponse; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; import org.springframework.web.client.RestTemplate; import org.springframework.web.context.request.RequestAttributes; import org.springframework.web.context.request.RequestContextHolder; @@ -98,6 +100,7 @@ public class HttpProxyScenarioTests { request.addHeader("If-Modified-Since", ifModifiedSinceValue); request.addHeader("If-Unmodified-Since", ifUnmodifiedSinceValue); + request.addHeader("Connection", "Keep-Alive"); Object handler = this.handlerMapping.getHandler(request).getHandler(); assertNotNull(handler); @@ -116,7 +119,11 @@ public class HttpProxyScenarioTests { HttpHeaders httpHeaders = httpEntity.getHeaders(); assertEquals(ifModifiedSince, httpHeaders.getIfNotModifiedSince()); assertEquals(ifUnmodifiedSinceValue, httpHeaders.getFirst("If-Unmodified-Since")); - return new ResponseEntity(httpEntity.getHeaders(), HttpStatus.OK); + assertEquals("Keep-Alive", httpHeaders.getFirst("Connection")); + + MultiValueMap responseHeaders = new LinkedMultiValueMap(httpHeaders); + responseHeaders.set("Connection", "close"); + return new ResponseEntity(responseHeaders, HttpStatus.OK); } }).when(template).exchange(Mockito.any(URI.class), Mockito.any(HttpMethod.class), Mockito.any(HttpEntity.class), (Class) Mockito.any(Class.class)); @@ -131,6 +138,7 @@ public class HttpProxyScenarioTests { assertNull(response.getHeaderValue("If-Modified-Since")); assertNull(response.getHeaderValue("If-Unmodified-Since")); + assertEquals("close", response.getHeaderValue("Connection")); Message message = this.checkHeadersChannel.receive(2000); MessageHeaders headers = message.getHeaders();