|
|
|
@ -36,7 +36,6 @@ import java.util.List; |
|
|
|
import java.util.Locale; |
|
|
|
import java.util.Locale; |
|
|
|
import java.util.Map; |
|
|
|
import java.util.Map; |
|
|
|
import java.util.Set; |
|
|
|
import java.util.Set; |
|
|
|
|
|
|
|
|
|
|
|
import javax.servlet.AsyncContext; |
|
|
|
import javax.servlet.AsyncContext; |
|
|
|
import javax.servlet.DispatcherType; |
|
|
|
import javax.servlet.DispatcherType; |
|
|
|
import javax.servlet.RequestDispatcher; |
|
|
|
import javax.servlet.RequestDispatcher; |
|
|
|
@ -58,12 +57,11 @@ import org.springframework.util.StringUtils; |
|
|
|
/** |
|
|
|
/** |
|
|
|
* Mock implementation of the {@link javax.servlet.http.HttpServletRequest} interface. |
|
|
|
* Mock implementation of the {@link javax.servlet.http.HttpServletRequest} interface. |
|
|
|
* |
|
|
|
* |
|
|
|
* <p>The default, preferred {@link Locale} for the <em>server</em> mocked |
|
|
|
* <p>The default, preferred {@link Locale} for the <em>server</em> mocked by this request |
|
|
|
* by this request is {@link Locale#ENGLISH}. This value can be changed |
|
|
|
* is {@link Locale#ENGLISH}. This value can be changed via {@link #addPreferredLocale} |
|
|
|
* via {@link #addPreferredLocale} or {@link #setPreferredLocales}. |
|
|
|
* or {@link #setPreferredLocales}. |
|
|
|
* |
|
|
|
* |
|
|
|
* <p>As of Spring Framework 4.0, this set of mocks is designed on a Servlet |
|
|
|
* <p>As of Spring Framework 4.0, this set of mocks is designed on a Servlet 3.0 baseline. |
|
|
|
* 3.0 baseline. |
|
|
|
|
|
|
|
* |
|
|
|
* |
|
|
|
* @author Juergen Hoeller |
|
|
|
* @author Juergen Hoeller |
|
|
|
* @author Rod Johnson |
|
|
|
* @author Rod Johnson |
|
|
|
@ -344,9 +342,10 @@ public class MockHttpServletRequest implements HttpServletRequest { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void updateContentTypeHeader() { |
|
|
|
private void updateContentTypeHeader() { |
|
|
|
if (this.contentType != null) { |
|
|
|
if (StringUtils.hasLength(this.contentType)) { |
|
|
|
StringBuilder sb = new StringBuilder(this.contentType); |
|
|
|
StringBuilder sb = new StringBuilder(this.contentType); |
|
|
|
if (!this.contentType.toLowerCase().contains(CHARSET_PREFIX) && this.characterEncoding != null) { |
|
|
|
if (!this.contentType.toLowerCase().contains(CHARSET_PREFIX) && |
|
|
|
|
|
|
|
StringUtils.hasLength(this.characterEncoding)) { |
|
|
|
sb.append(";").append(CHARSET_PREFIX).append(this.characterEncoding); |
|
|
|
sb.append(";").append(CHARSET_PREFIX).append(this.characterEncoding); |
|
|
|
} |
|
|
|
} |
|
|
|
doAddHeaderValue(CONTENT_TYPE_HEADER, sb.toString(), true); |
|
|
|
doAddHeaderValue(CONTENT_TYPE_HEADER, sb.toString(), true); |
|
|
|
@ -371,8 +370,7 @@ public class MockHttpServletRequest implements HttpServletRequest { |
|
|
|
if (contentType != null) { |
|
|
|
if (contentType != null) { |
|
|
|
int charsetIndex = contentType.toLowerCase().indexOf(CHARSET_PREFIX); |
|
|
|
int charsetIndex = contentType.toLowerCase().indexOf(CHARSET_PREFIX); |
|
|
|
if (charsetIndex != -1) { |
|
|
|
if (charsetIndex != -1) { |
|
|
|
String encoding = contentType.substring(charsetIndex + CHARSET_PREFIX.length()); |
|
|
|
this.characterEncoding = contentType.substring(charsetIndex + CHARSET_PREFIX.length()); |
|
|
|
this.characterEncoding = encoding; |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
updateContentTypeHeader(); |
|
|
|
updateContentTypeHeader(); |
|
|
|
} |
|
|
|
} |
|
|
|
@ -708,8 +706,6 @@ public class MockHttpServletRequest implements HttpServletRequest { |
|
|
|
/** |
|
|
|
/** |
|
|
|
* Set the boolean {@code secure} flag indicating whether the mock request |
|
|
|
* Set the boolean {@code secure} flag indicating whether the mock request |
|
|
|
* was made using a secure channel, such as HTTPS. |
|
|
|
* was made using a secure channel, such as HTTPS. |
|
|
|
* @param secure a boolean indicating if the mock request was made using a |
|
|
|
|
|
|
|
* secure channel |
|
|
|
|
|
|
|
* @see #isSecure() |
|
|
|
* @see #isSecure() |
|
|
|
* @see #getScheme() |
|
|
|
* @see #getScheme() |
|
|
|
* @see #setScheme(String) |
|
|
|
* @see #setScheme(String) |
|
|
|
@ -721,13 +717,11 @@ public class MockHttpServletRequest implements HttpServletRequest { |
|
|
|
/** |
|
|
|
/** |
|
|
|
* Returns {@code true} if the {@link #setSecure secure} flag has been set |
|
|
|
* Returns {@code true} if the {@link #setSecure secure} flag has been set |
|
|
|
* to {@code true} or if the {@link #getScheme scheme} is {@code https}. |
|
|
|
* to {@code true} or if the {@link #getScheme scheme} is {@code https}. |
|
|
|
* <p> |
|
|
|
|
|
|
|
* {@inheritDoc} |
|
|
|
|
|
|
|
* @see javax.servlet.ServletRequest#isSecure() |
|
|
|
* @see javax.servlet.ServletRequest#isSecure() |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public boolean isSecure() { |
|
|
|
public boolean isSecure() { |
|
|
|
return this.secure || HTTPS.equalsIgnoreCase(this.getScheme()); |
|
|
|
return (this.secure || HTTPS.equalsIgnoreCase(this.scheme)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Override |
|
|
|
@ -1040,8 +1034,8 @@ public class MockHttpServletRequest implements HttpServletRequest { |
|
|
|
public StringBuffer getRequestURL() { |
|
|
|
public StringBuffer getRequestURL() { |
|
|
|
StringBuffer url = new StringBuffer(this.scheme).append("://").append(this.serverName); |
|
|
|
StringBuffer url = new StringBuffer(this.scheme).append("://").append(this.serverName); |
|
|
|
|
|
|
|
|
|
|
|
if (this.serverPort > 0 |
|
|
|
if (this.serverPort > 0 && ((HTTP.equalsIgnoreCase(this.scheme) && this.serverPort != 80) || |
|
|
|
&& ((HTTP.equalsIgnoreCase(scheme) && this.serverPort != 80) || (HTTPS.equalsIgnoreCase(scheme) && this.serverPort != 443))) { |
|
|
|
(HTTPS.equalsIgnoreCase(this.scheme) && this.serverPort != 443))) { |
|
|
|
url.append(':').append(this.serverPort); |
|
|
|
url.append(':').append(this.serverPort); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|