MockHttpServletRequest returns empty BufferedReader in case of no content
Issue: SPR-15215
(cherry picked from commit 0da964f
)
This commit is contained in:
parent
e3cd5c8ef0
commit
d4010573af
|
@ -22,6 +22,7 @@ import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.io.InputStreamReader;
|
import java.io.InputStreamReader;
|
||||||
import java.io.Reader;
|
import java.io.Reader;
|
||||||
|
import java.io.StringReader;
|
||||||
import java.io.UnsupportedEncodingException;
|
import java.io.UnsupportedEncodingException;
|
||||||
import java.security.Principal;
|
import java.security.Principal;
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
|
@ -124,6 +125,9 @@ public class MockHttpServletRequest implements HttpServletRequest {
|
||||||
private static final ServletInputStream EMPTY_SERVLET_INPUT_STREAM =
|
private static final ServletInputStream EMPTY_SERVLET_INPUT_STREAM =
|
||||||
new DelegatingServletInputStream(StreamUtils.emptyInput());
|
new DelegatingServletInputStream(StreamUtils.emptyInput());
|
||||||
|
|
||||||
|
private static final BufferedReader EMPTY_BUFFERED_READER =
|
||||||
|
new BufferedReader(new StringReader(""));
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Date formats as specified in the HTTP RFC
|
* Date formats as specified in the HTTP RFC
|
||||||
* @see <a href="https://tools.ietf.org/html/rfc7231#section-7.1.1.1">Section 7.1.1.1 of RFC 7231</a>
|
* @see <a href="https://tools.ietf.org/html/rfc7231#section-7.1.1.1">Section 7.1.1.1 of RFC 7231</a>
|
||||||
|
@ -617,11 +621,12 @@ public class MockHttpServletRequest implements HttpServletRequest {
|
||||||
if (this.content != null) {
|
if (this.content != null) {
|
||||||
InputStream sourceStream = new ByteArrayInputStream(this.content);
|
InputStream sourceStream = new ByteArrayInputStream(this.content);
|
||||||
Reader sourceReader = (this.characterEncoding != null) ?
|
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);
|
return new BufferedReader(sourceReader);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
return null;
|
return EMPTY_BUFFERED_READER;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -900,7 +905,7 @@ public class MockHttpServletRequest implements HttpServletRequest {
|
||||||
this.headers.put(name, header);
|
this.headers.put(name, header);
|
||||||
}
|
}
|
||||||
if (value instanceof Collection) {
|
if (value instanceof Collection) {
|
||||||
header.addValues((Collection) value);
|
header.addValues((Collection<?>) value);
|
||||||
}
|
}
|
||||||
else if (value.getClass().isArray()) {
|
else if (value.getClass().isArray()) {
|
||||||
header.addValueArray(value);
|
header.addValueArray(value);
|
||||||
|
|
|
@ -22,6 +22,7 @@ import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.io.InputStreamReader;
|
import java.io.InputStreamReader;
|
||||||
import java.io.Reader;
|
import java.io.Reader;
|
||||||
|
import java.io.StringReader;
|
||||||
import java.io.UnsupportedEncodingException;
|
import java.io.UnsupportedEncodingException;
|
||||||
import java.security.Principal;
|
import java.security.Principal;
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
|
@ -124,6 +125,9 @@ public class MockHttpServletRequest implements HttpServletRequest {
|
||||||
private static final ServletInputStream EMPTY_SERVLET_INPUT_STREAM =
|
private static final ServletInputStream EMPTY_SERVLET_INPUT_STREAM =
|
||||||
new DelegatingServletInputStream(StreamUtils.emptyInput());
|
new DelegatingServletInputStream(StreamUtils.emptyInput());
|
||||||
|
|
||||||
|
private static final BufferedReader EMPTY_BUFFERED_READER =
|
||||||
|
new BufferedReader(new StringReader(""));
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Date formats as specified in the HTTP RFC
|
* Date formats as specified in the HTTP RFC
|
||||||
* @see <a href="https://tools.ietf.org/html/rfc7231#section-7.1.1.1">Section 7.1.1.1 of RFC 7231</a>
|
* @see <a href="https://tools.ietf.org/html/rfc7231#section-7.1.1.1">Section 7.1.1.1 of RFC 7231</a>
|
||||||
|
@ -617,11 +621,12 @@ public class MockHttpServletRequest implements HttpServletRequest {
|
||||||
if (this.content != null) {
|
if (this.content != null) {
|
||||||
InputStream sourceStream = new ByteArrayInputStream(this.content);
|
InputStream sourceStream = new ByteArrayInputStream(this.content);
|
||||||
Reader sourceReader = (this.characterEncoding != null) ?
|
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);
|
return new BufferedReader(sourceReader);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
return null;
|
return EMPTY_BUFFERED_READER;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -900,7 +905,7 @@ public class MockHttpServletRequest implements HttpServletRequest {
|
||||||
this.headers.put(name, header);
|
this.headers.put(name, header);
|
||||||
}
|
}
|
||||||
if (value instanceof Collection) {
|
if (value instanceof Collection) {
|
||||||
header.addValues((Collection) value);
|
header.addValues((Collection<?>) value);
|
||||||
}
|
}
|
||||||
else if (value.getClass().isArray()) {
|
else if (value.getClass().isArray()) {
|
||||||
header.addValueArray(value);
|
header.addValueArray(value);
|
||||||
|
|
Loading…
Reference in New Issue