MockHttpServletRequest.getRequestURL aligns with getServerName/Port
Issue: SPR-16138
(cherry picked from commit 0edf4d6)
This commit is contained in:
@@ -1103,13 +1103,18 @@ public class MockHttpServletRequest implements HttpServletRequest {
|
||||
|
||||
@Override
|
||||
public StringBuffer getRequestURL() {
|
||||
StringBuffer url = new StringBuffer(this.scheme).append("://").append(this.serverName);
|
||||
if (this.serverPort > 0 && ((HTTP.equalsIgnoreCase(this.scheme) && this.serverPort != 80) ||
|
||||
(HTTPS.equalsIgnoreCase(this.scheme) && this.serverPort != 443))) {
|
||||
url.append(':').append(this.serverPort);
|
||||
String scheme = getScheme();
|
||||
String server = getServerName();
|
||||
int port = getServerPort();
|
||||
String uri = getRequestURI();
|
||||
|
||||
StringBuffer url = new StringBuffer(scheme).append("://").append(server);
|
||||
if (port > 0 && ((HTTP.equalsIgnoreCase(scheme) && port != 80) ||
|
||||
(HTTPS.equalsIgnoreCase(scheme) && port != 443))) {
|
||||
url.append(':').append(port);
|
||||
}
|
||||
if (StringUtils.hasText(getRequestURI())) {
|
||||
url.append(getRequestURI());
|
||||
if (StringUtils.hasText(uri)) {
|
||||
url.append(uri);
|
||||
}
|
||||
return url;
|
||||
}
|
||||
@@ -1219,12 +1224,12 @@ public class MockHttpServletRequest implements HttpServletRequest {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Part getPart(String name) throws IOException, IllegalStateException, ServletException {
|
||||
public Part getPart(String name) throws IOException, ServletException {
|
||||
return this.parts.getFirst(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<Part> getParts() throws IOException, IllegalStateException, ServletException {
|
||||
public Collection<Part> getParts() throws IOException, ServletException {
|
||||
List<Part> result = new LinkedList<Part>();
|
||||
for (List<Part> list : this.parts.values()) {
|
||||
result.addAll(list);
|
||||
|
||||
@@ -146,7 +146,7 @@ public class MockHttpServletRequestTests {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void httpHeaderNameCasingIsPreserved() throws Exception {
|
||||
public void httpHeaderNameCasingIsPreserved() {
|
||||
String headerName = "Header1";
|
||||
request.addHeader(headerName, "value1");
|
||||
Enumeration<String> requestHeaders = request.getHeaderNames();
|
||||
@@ -360,6 +360,22 @@ public class MockHttpServletRequestTests {
|
||||
assertEquals("http://localhost", requestURL.toString());
|
||||
}
|
||||
|
||||
@Test // SPR-16138
|
||||
public void getRequestURLWithHostHeader() {
|
||||
String testServer = "test.server";
|
||||
request.addHeader(HOST, testServer);
|
||||
StringBuffer requestURL = request.getRequestURL();
|
||||
assertEquals("http://" + testServer, requestURL.toString());
|
||||
}
|
||||
|
||||
@Test // SPR-16138
|
||||
public void getRequestURLWithHostHeaderAndPort() {
|
||||
String testServer = "test.server:9999";
|
||||
request.addHeader(HOST, testServer);
|
||||
StringBuffer requestURL = request.getRequestURL();
|
||||
assertEquals("http://" + testServer, requestURL.toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getRequestURLWithNullRequestUri() {
|
||||
request.setRequestURI(null);
|
||||
@@ -415,43 +431,44 @@ public class MockHttpServletRequestTests {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void httpHeaderDate() throws Exception {
|
||||
public void httpHeaderDate() {
|
||||
Date date = new Date();
|
||||
request.addHeader(IF_MODIFIED_SINCE, date);
|
||||
assertEquals(date.getTime(), request.getDateHeader(IF_MODIFIED_SINCE));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void httpHeaderTimestamp() throws Exception {
|
||||
public void httpHeaderTimestamp() {
|
||||
long timestamp = new Date().getTime();
|
||||
request.addHeader(IF_MODIFIED_SINCE, timestamp);
|
||||
assertEquals(timestamp, request.getDateHeader(IF_MODIFIED_SINCE));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void httpHeaderRfcFormatedDate() throws Exception {
|
||||
public void httpHeaderRfcFormatedDate() {
|
||||
request.addHeader(IF_MODIFIED_SINCE, "Tue, 21 Jul 2015 10:00:00 GMT");
|
||||
assertEquals(1437472800000L, request.getDateHeader(IF_MODIFIED_SINCE));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void httpHeaderFirstVariantFormatedDate() throws Exception {
|
||||
public void httpHeaderFirstVariantFormatedDate() {
|
||||
request.addHeader(IF_MODIFIED_SINCE, "Tue, 21-Jul-15 10:00:00 GMT");
|
||||
assertEquals(1437472800000L, request.getDateHeader(IF_MODIFIED_SINCE));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void httpHeaderSecondVariantFormatedDate() throws Exception {
|
||||
public void httpHeaderSecondVariantFormatedDate() {
|
||||
request.addHeader(IF_MODIFIED_SINCE, "Tue Jul 21 10:00:00 2015");
|
||||
assertEquals(1437472800000L, request.getDateHeader(IF_MODIFIED_SINCE));
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
public void httpHeaderFormatedDateError() throws Exception {
|
||||
public void httpHeaderFormatedDateError() {
|
||||
request.addHeader(IF_MODIFIED_SINCE, "This is not a date");
|
||||
request.getDateHeader(IF_MODIFIED_SINCE);
|
||||
}
|
||||
|
||||
|
||||
private void assertEqualEnumerations(Enumeration<?> enum1, Enumeration<?> enum2) {
|
||||
assertNotNull(enum1);
|
||||
assertNotNull(enum2);
|
||||
|
||||
@@ -1103,13 +1103,18 @@ public class MockHttpServletRequest implements HttpServletRequest {
|
||||
|
||||
@Override
|
||||
public StringBuffer getRequestURL() {
|
||||
StringBuffer url = new StringBuffer(this.scheme).append("://").append(this.serverName);
|
||||
if (this.serverPort > 0 && ((HTTP.equalsIgnoreCase(this.scheme) && this.serverPort != 80) ||
|
||||
(HTTPS.equalsIgnoreCase(this.scheme) && this.serverPort != 443))) {
|
||||
url.append(':').append(this.serverPort);
|
||||
String scheme = getScheme();
|
||||
String server = getServerName();
|
||||
int port = getServerPort();
|
||||
String uri = getRequestURI();
|
||||
|
||||
StringBuffer url = new StringBuffer(scheme).append("://").append(server);
|
||||
if (port > 0 && ((HTTP.equalsIgnoreCase(scheme) && port != 80) ||
|
||||
(HTTPS.equalsIgnoreCase(scheme) && port != 443))) {
|
||||
url.append(':').append(port);
|
||||
}
|
||||
if (StringUtils.hasText(getRequestURI())) {
|
||||
url.append(getRequestURI());
|
||||
if (StringUtils.hasText(uri)) {
|
||||
url.append(uri);
|
||||
}
|
||||
return url;
|
||||
}
|
||||
@@ -1219,12 +1224,12 @@ public class MockHttpServletRequest implements HttpServletRequest {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Part getPart(String name) throws IOException, IllegalStateException, ServletException {
|
||||
public Part getPart(String name) throws IOException, ServletException {
|
||||
return this.parts.getFirst(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<Part> getParts() throws IOException, IllegalStateException, ServletException {
|
||||
public Collection<Part> getParts() throws IOException, ServletException {
|
||||
List<Part> result = new LinkedList<Part>();
|
||||
for (List<Part> list : this.parts.values()) {
|
||||
result.addAll(list);
|
||||
|
||||
Reference in New Issue
Block a user