RequestHeaderMapMethodArgumentResolver defensively checks for non-existing header values

Issue: SPR-14091
master
Juergen Hoeller 9 years ago
parent 4fa11e334f
commit b2a17ba537
  1. 9
      spring-web/src/main/java/org/springframework/web/method/annotation/RequestHeaderMapMethodArgumentResolver.java

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2014 the original author or authors. * Copyright 2002-2016 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -66,10 +66,13 @@ public class RequestHeaderMapMethodArgumentResolver implements HandlerMethodArgu
} }
for (Iterator<String> iterator = webRequest.getHeaderNames(); iterator.hasNext();) { for (Iterator<String> iterator = webRequest.getHeaderNames(); iterator.hasNext();) {
String headerName = iterator.next(); String headerName = iterator.next();
for (String headerValue : webRequest.getHeaderValues(headerName)) { String[] headerValues = webRequest.getHeaderValues(headerName);
if (headerValues != null) {
for (String headerValue : headerValues) {
result.add(headerName, headerValue); result.add(headerName, headerValue);
} }
} }
}
return result; return result;
} }
else { else {
@ -77,8 +80,10 @@ public class RequestHeaderMapMethodArgumentResolver implements HandlerMethodArgu
for (Iterator<String> iterator = webRequest.getHeaderNames(); iterator.hasNext();) { for (Iterator<String> iterator = webRequest.getHeaderNames(); iterator.hasNext();) {
String headerName = iterator.next(); String headerName = iterator.next();
String headerValue = webRequest.getHeader(headerName); String headerValue = webRequest.getHeader(headerName);
if (headerValue != null) {
result.put(headerName, headerValue); result.put(headerName, headerValue);
} }
}
return result; return result;
} }
} }

Loading…
Cancel
Save