diff --git a/spring-test/src/main/java/org/springframework/mock/web/MockHttpServletRequest.java b/spring-test/src/main/java/org/springframework/mock/web/MockHttpServletRequest.java index 48bae546afa..8224e9d4500 100644 --- a/spring-test/src/main/java/org/springframework/mock/web/MockHttpServletRequest.java +++ b/spring-test/src/main/java/org/springframework/mock/web/MockHttpServletRequest.java @@ -22,6 +22,7 @@ import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; +import java.io.StringReader; import java.io.UnsupportedEncodingException; import java.security.Principal; import java.text.ParseException; @@ -125,6 +126,9 @@ public class MockHttpServletRequest implements HttpServletRequest { private static final ServletInputStream EMPTY_SERVLET_INPUT_STREAM = new DelegatingServletInputStream(StreamUtils.emptyInput()); + private static final BufferedReader EMPTY_BUFFERED_READER = + new BufferedReader(new StringReader("")); + /** * Date formats as specified in the HTTP RFC * @see Section 7.1.1.1 of RFC 7231 @@ -659,11 +663,12 @@ public class MockHttpServletRequest implements HttpServletRequest { if (this.content != null) { InputStream sourceStream = new ByteArrayInputStream(this.content); Reader sourceReader = (this.characterEncoding != null) ? - new InputStreamReader(sourceStream, this.characterEncoding) : new InputStreamReader(sourceStream); + new InputStreamReader(sourceStream, this.characterEncoding) : + new InputStreamReader(sourceStream); return new BufferedReader(sourceReader); } else { - return null; + return EMPTY_BUFFERED_READER; } } diff --git a/spring-web/src/test/java/org/springframework/mock/web/test/MockHttpServletRequest.java b/spring-web/src/test/java/org/springframework/mock/web/test/MockHttpServletRequest.java index 76994525513..debed377a31 100644 --- a/spring-web/src/test/java/org/springframework/mock/web/test/MockHttpServletRequest.java +++ b/spring-web/src/test/java/org/springframework/mock/web/test/MockHttpServletRequest.java @@ -22,6 +22,7 @@ import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; +import java.io.StringReader; import java.io.UnsupportedEncodingException; import java.security.Principal; import java.text.ParseException; @@ -125,6 +126,9 @@ public class MockHttpServletRequest implements HttpServletRequest { private static final ServletInputStream EMPTY_SERVLET_INPUT_STREAM = new DelegatingServletInputStream(StreamUtils.emptyInput()); + private static final BufferedReader EMPTY_BUFFERED_READER = + new BufferedReader(new StringReader("")); + /** * Date formats as specified in the HTTP RFC * @see Section 7.1.1.1 of RFC 7231 @@ -659,11 +663,12 @@ public class MockHttpServletRequest implements HttpServletRequest { if (this.content != null) { InputStream sourceStream = new ByteArrayInputStream(this.content); Reader sourceReader = (this.characterEncoding != null) ? - new InputStreamReader(sourceStream, this.characterEncoding) : new InputStreamReader(sourceStream); + new InputStreamReader(sourceStream, this.characterEncoding) : + new InputStreamReader(sourceStream); return new BufferedReader(sourceReader); } else { - return null; + return EMPTY_BUFFERED_READER; } } @@ -940,7 +945,7 @@ public class MockHttpServletRequest implements HttpServletRequest { this.headers.put(name, header); } if (value instanceof Collection) { - header.addValues((Collection) value); + header.addValues((Collection) value); } else if (value.getClass().isArray()) { header.addValueArray(value);