From b362c493ffe536f9f3e335109739a0af577eff65 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Wed, 29 Apr 2015 10:21:41 +0100 Subject: [PATCH] Use HttpHeaders to simplify HTTP request documentation --- .../restdocs/http/HttpDocumentation.java | 2 +- .../util/DocumentableHttpServletRequest.java | 20 ++++++++----------- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/spring-restdocs/src/main/java/org/springframework/restdocs/http/HttpDocumentation.java b/spring-restdocs/src/main/java/org/springframework/restdocs/http/HttpDocumentation.java index 6726da47..b340c5b1 100644 --- a/spring-restdocs/src/main/java/org/springframework/restdocs/http/HttpDocumentation.java +++ b/spring-restdocs/src/main/java/org/springframework/restdocs/http/HttpDocumentation.java @@ -119,7 +119,7 @@ public abstract class HttpDocumentation { private boolean requiresFormEncodingContentType( DocumentableHttpServletRequest request) { - return request.getHeaders().get(HttpHeaders.CONTENT_TYPE) == null + return request.getHeaders().getContentType() == null && request.isPostRequest() && StringUtils.hasText(request.getParameterMapAsQueryString()); } diff --git a/spring-restdocs/src/main/java/org/springframework/restdocs/util/DocumentableHttpServletRequest.java b/spring-restdocs/src/main/java/org/springframework/restdocs/util/DocumentableHttpServletRequest.java index 3d228cab..bf1588ee 100644 --- a/spring-restdocs/src/main/java/org/springframework/restdocs/util/DocumentableHttpServletRequest.java +++ b/spring-restdocs/src/main/java/org/springframework/restdocs/util/DocumentableHttpServletRequest.java @@ -22,13 +22,11 @@ import java.io.IOException; import java.io.StringWriter; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; +import org.springframework.http.HttpHeaders; import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.util.FileCopyUtils; import org.springframework.util.StringUtils; @@ -76,24 +74,22 @@ public class DocumentableHttpServletRequest { } /** - * Returns a Map of the request's headers. The entries are ordered based on the - * ordering of {@link HttpServletRequest#getHeaderNames()} and + * Returns the request's headers. The headers are ordered based on the ordering of + * {@link HttpServletRequest#getHeaderNames()} and * {@link HttpServletRequest#getHeaders(String)}. * - * @return the request's headers, keyed by name + * @return the request's headers * @see HttpServletRequest#getHeaderNames() * @see HttpServletRequest#getHeaders(String) */ - public Map> getHeaders() { - Map> headersByName = new LinkedHashMap>(); + public HttpHeaders getHeaders() { + HttpHeaders httpHeaders = new HttpHeaders(); for (String headerName : iterable(this.delegate.getHeaderNames())) { - List headers = new ArrayList(); - headersByName.put(headerName, headers); for (String header : iterable(this.delegate.getHeaders(headerName))) { - headers.add(header); + httpHeaders.add(headerName, header); } } - return headersByName; + return httpHeaders; } /**