RequestHeaderMapMethodArgumentResolver defensively checks for non-existing header values

Issue: SPR-14091
master
Juergen Hoeller 9 years ago
parent 4fa11e334f
commit b2a17ba537
  1. 13
      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,8 +66,11 @@ 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);
result.add(headerName, headerValue); if (headerValues != null) {
for (String headerValue : headerValues) {
result.add(headerName, headerValue);
}
} }
} }
return result; return result;
@ -77,7 +80,9 @@ 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);
result.put(headerName, headerValue); if (headerValue != null) {
result.put(headerName, headerValue);
}
} }
return result; return result;
} }

Loading…
Cancel
Save