| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -8,12 +8,11 @@ public class Headers extends HashMap<String, List<String>> { | |||
| 8 | 8 | private static final long serialVersionUID = 71310341388734766L; | |
| 9 | 9 | ||
| 10 | 10 | public String getFirst(Object key) { | |
| 11 | - Object lowerCasedKey = key instanceof String ? ((String) key).toLowerCase() : key; | ||
| 12 | - List<String> list = get(lowerCasedKey); | ||
| 11 | + List<String> list = get(key); | ||
| 13 | 12 | if (list != null && list.size() > 0) { | |
| 14 | 13 | return list.get(0); | |
| 15 | 14 | } | |
| 16 | 15 | return null; | |
| 17 | 16 | } | |
| 18 | - | ||
| 17 | + | ||
| 19 | 18 | } | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -55,7 +55,7 @@ public HttpResponse(org.apache.http.HttpResponse response, Class<T> responseClas | |||
| 55 | 55 | ||
| 56 | 56 | Header[] allHeaders = response.getAllHeaders(); | |
| 57 | 57 | for (Header header : allHeaders) { | |
| 58 | - String headerName = header.getName().toLowerCase(); | ||
| 58 | + String headerName = header.getName(); | ||
| 59 | 59 | List<String> list = headers.get(headerName); | |
| 60 | 60 | if (list == null) | |
| 61 | 61 | list = new ArrayList<String>(); | |
@@ -122,6 +122,10 @@ public String getStatusText() { | |||
| 122 | 122 | return statusText; | |
| 123 | 123 | } | |
| 124 | 124 | ||
| 125 | + /** | ||
| 126 | + * @return Response Headers (map) with <b>same case</b> as server response. | ||
| 127 | + * For instance use <code>getHeaders().getFirst("Location")</code> and not <code>getHeaders().getFirst("location")</code> to get first header "Location" | ||
| 128 | + */ | ||
| 125 | 129 | public Headers getHeaders() { | |
| 126 | 130 | return headers; | |
| 127 | 131 | } | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -796,4 +796,15 @@ public void testPostProvidesSortedParams() throws IOException { | |||
| 796 | 796 | String body = IOUtils.toString(content, "UTF-8"); | |
| 797 | 797 | assertEquals("x=X&y=Y&z=Z", body); | |
| 798 | 798 | } | |
| 799 | + | ||
| 800 | + @Test | ||
| 801 | + public void testHeaderNamesCaseSensitive() { | ||
| 802 | + // Verify that header names are the same as server (case sensitive) | ||
| 803 | + final Headers headers = new Headers(); | ||
| 804 | + headers.put("Content-Type", Arrays.asList("application/json")); | ||
| 805 | + | ||
| 806 | + assertEquals("Only header \"Content-Type\" should exist", null, headers.getFirst("cOnTeNt-TyPe")); | ||
| 807 | + assertEquals("Only header \"Content-Type\" should exist", null, headers.getFirst("content-type")); | ||
| 808 | + assertEquals("Only header \"Content-Type\" should exist", "application/json", headers.getFirst("Content-Type")); | ||
| 809 | + } | ||
| 799 | 810 | } | |
| Back | FazBrowse Home | New Git URL |
0 commit comments