- All Implemented Interfaces:
-
javax.servlet.http.HttpServletResponse
,
javax.servlet.ServletResponse
public class MockResponse
extends java.lang.Object
implements javax.servlet.http.HttpServletResponse
Mock implementation of HttpServletResponse
. Implements all of the
methods from the standard HttpServletResponse class plus helper methods to aid
viewing the generated response. This class was adapted from Apache Wicket.
- Since:
- 17.10.0
Field Summary
Fields inherited from interface javax.servlet.http.HttpServletResponse
SC_ACCEPTED, SC_BAD_GATEWAY, SC_BAD_REQUEST, SC_CONFLICT, SC_CONTINUE,
SC_CREATED, SC_EXPECTATION_FAILED, SC_FORBIDDEN, SC_FOUND, SC_GATEWAY_TIMEOUT,
SC_GONE, SC_HTTP_VERSION_NOT_SUPPORTED, SC_INTERNAL_SERVER_ERROR,
SC_LENGTH_REQUIRED, SC_METHOD_NOT_ALLOWED, SC_MOVED_PERMANENTLY,
SC_MOVED_TEMPORARILY, SC_MULTIPLE_CHOICES, SC_NO_CONTENT,
SC_NON_AUTHORITATIVE_INFORMATION, SC_NOT_ACCEPTABLE, SC_NOT_FOUND,
SC_NOT_IMPLEMENTED, SC_NOT_MODIFIED, SC_OK, SC_PARTIAL_CONTENT,
SC_PAYMENT_REQUIRED, SC_PRECONDITION_FAILED, SC_PROXY_AUTHENTICATION_REQUIRED,
SC_REQUEST_ENTITY_TOO_LARGE, SC_REQUEST_TIMEOUT, SC_REQUEST_URI_TOO_LONG,
SC_REQUESTED_RANGE_NOT_SATISFIABLE, SC_RESET_CONTENT, SC_SEE_OTHER,
SC_SERVICE_UNAVAILABLE, SC_SWITCHING_PROTOCOLS, SC_TEMPORARY_REDIRECT,
SC_UNAUTHORIZED, SC_UNSUPPORTED_MEDIA_TYPE, SC_USE_PROXY
Constructor Summary
Constructors
Constructor |
Description |
MockResponse() |
Create the response object.
|
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated
Methods
Modifier and Type |
Method |
Description |
void |
addCookie(javax.servlet.http.Cookie cookie) |
Add a cookie to the response.
|
void |
addDateHeader(java.lang.String name,
long l)
|
Add a date header.
|
void |
addHeader(java.lang.String name,
java.lang.String value)
|
Add the given header value, including an additional entry if one already
exists.
|
void |
addIntHeader(java.lang.String name,
int i)
|
Add an int header value.
|
static void |
append2digits(java.lang.StringBuffer buf,
int i)
|
Append two digits if specified int is less than 100.
|
boolean |
containsHeader(java.lang.String name) |
Check if the response contains the given header name.
|
java.lang.String |
encodeRedirectUrl(java.lang.String url) |
Encode the redirectUrl.
|
java.lang.String |
encodeRedirectURL(java.lang.String url) |
Encode the redirectUrl.
|
java.lang.String |
encodeUrl(java.lang.String url) |
Encode thr URL.
|
java.lang.String |
encodeURL(java.lang.String url) |
Encode thr URL.
|
void |
flushBuffer() |
Flush the buffer.
|
static java.lang.String |
formatDate(long value) |
Formats the specified long value as a date.
|
static void |
formatDate(java.lang.StringBuffer buf,
java.util.Calendar calendar,
boolean cookie)
|
Format HTTP date "EEE, dd MMM yyyy HH:mm:ss 'GMT'" or "EEE, dd-MMM-yy
HH:mm:ss 'GMT'" for cookies.
|
byte[] |
getBinaryContent() |
Get the binary content that was written to the servlet stream.
|
int |
getBufferSize() |
Return the current buffer size.
|
java.lang.String |
getCharacterEncoding() |
Get the character encoding of the response.
|
int |
getCode() |
Get the response code for this request.
|
java.lang.String |
getContentType() |
Return the response content type.
|
java.util.Collection<javax.servlet.http.Cookie>
|
getCookies() |
Get all of the cookies that have been added to the response.
|
java.lang.String |
getDocument() |
Get the text document that was written as part of this response.
|
java.lang.String |
getErrorMessage() |
Get the error message.
|
java.lang.String |
getHeader(java.lang.String name) |
Return the value of the given named header.
|
java.util.Set<java.lang.String> |
getHeaderNames() |
Get the names of all of the headers.
|
java.util.Collection<java.lang.String> |
getHeaders(java.lang.String name) |
Return the request headers.
|
java.util.Locale |
getLocale() |
Get the encoded locale.
|
javax.servlet.ServletOutputStream |
getOutputStream() |
Get the output stream for writing binary data from the servlet.
|
java.lang.String |
getRedirectUrl() |
Get the location that was redirected to.
|
int |
getStatus() |
Get the status code.
|
java.io.PrintWriter |
getWriter() |
Get the print writer for writing text output for this response.
|
void |
initialize() |
Reset the response ready for reuse.
|
boolean |
isCommitted() |
Always returns false.
|
boolean |
isError() |
Return whether the servlet returned an error code or not.
|
boolean |
isRedirect() |
Check whether the response was redirected or not.
|
void |
reset() |
Delegate to initialise method.
|
void |
resetBuffer() |
Clears the buffer.
|
void |
sendError(int code) |
Send an error code.
|
void |
sendError(int code,
java.lang.String msg)
|
Send an error code.
|
void |
sendRedirect(java.lang.String url) |
Indicate sending of a redirectUrl to a particular named resource.
|
void |
setBufferSize(int size) |
Method ignored.
|
void |
setCharacterEncoding(java.lang.String characterEncoding)
|
Set the character encoding.
|
void |
setContentLength(int length) |
Set the content length.
|
void |
setContentLengthLong(long len) |
Set the content length long.
|
void |
setContentType(java.lang.String type) |
Set the content type.
|
void |
setDateHeader(java.lang.String name,
long l)
|
Set a date header.
|
void |
setHeader(java.lang.String name,
java.lang.String value)
|
Set the given header value.
|
void |
setIntHeader(java.lang.String name,
int i)
|
Set an int header value.
|
void |
setLocale(java.util.Locale locale) |
Set the locale in the response header.
|
void |
setStatus(int status) |
Set the status for this response.
|
void |
setStatus(int status,
java.lang.String msg)
|
Deprecated.
|
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString,
wait, wait, wait
Methods inherited from interface javax.servlet.http.HttpServletResponse
getTrailerFields, setTrailerFields
Constructor Detail
MockResponse
public MockResponse()
Create the response object.
Method Detail
addCookie
public void addCookie(javax.servlet.http.Cookie cookie)
Add a cookie to the response.
- Specified by:
-
addCookie
in interface
javax.servlet.http.HttpServletResponse
- Parameters:
cookie
- The cookie to add
addDateHeader
public void addDateHeader(java.lang.String name,
long l)
Add a date header.
- Specified by:
-
addDateHeader
in interface
javax.servlet.http.HttpServletResponse
- Parameters:
name
- The header value
l
- The long value
addHeader
public void addHeader(java.lang.String name,
java.lang.String value)
Add the given header value, including an additional entry if one already exists.
- Specified by:
-
addHeader
in interface
javax.servlet.http.HttpServletResponse
- Parameters:
name
- The name for the header
value
- The value for the header
addIntHeader
public void addIntHeader(java.lang.String name,
int i)
Add an int header value.
- Specified by:
-
addIntHeader
in interface
javax.servlet.http.HttpServletResponse
- Parameters:
name
- The header name
i
- The value
containsHeader
public boolean containsHeader(java.lang.String name)
Check if the response contains the given header name.
- Specified by:
-
containsHeader
in interface
javax.servlet.http.HttpServletResponse
- Parameters:
name
- The name to check
- Returns:
- Whether header in response or not
encodeRedirectUrl
public java.lang.String encodeRedirectUrl(java.lang.String url)
Encode the redirectUrl. Does no changes as this test implementation uses cookie
based url tracking.
- Specified by:
-
encodeRedirectUrl
in interface
javax.servlet.http.HttpServletResponse
- Parameters:
url
- The url to encode
- Returns:
- The encoded url
encodeRedirectURL
public java.lang.String encodeRedirectURL(java.lang.String url)
Encode the redirectUrl. Does no changes as this test implementation uses cookie
based url tracking.
- Specified by:
-
encodeRedirectURL
in interface
javax.servlet.http.HttpServletResponse
- Parameters:
url
- The url to encode
- Returns:
- The encoded url
encodeUrl
public java.lang.String encodeUrl(java.lang.String url)
Encode thr URL. Does no changes as this test implementation uses cookie based
url tracking.
- Specified by:
-
encodeUrl
in interface
javax.servlet.http.HttpServletResponse
- Parameters:
url
- The url to encode
- Returns:
- The encoded url
encodeURL
public java.lang.String encodeURL(java.lang.String url)
Encode thr URL. Does no changes as this test implementation uses cookie based
url tracking.
- Specified by:
-
encodeURL
in interface
javax.servlet.http.HttpServletResponse
- Parameters:
url
- The url to encode
- Returns:
- The encoded url
flushBuffer
public void flushBuffer()
throws java.io.IOException
Flush the buffer.
- Specified by:
-
flushBuffer
in interface
javax.servlet.ServletResponse
- Throws:
java.io.IOException
- if exception occurs during flush
getBinaryContent
public byte[] getBinaryContent()
Get the binary content that was written to the servlet stream.
- Returns:
- The binary content
getBufferSize
public int getBufferSize()
Return the current buffer size.
- Specified by:
-
getBufferSize
in interface
javax.servlet.ServletResponse
- Returns:
- The buffer size
getCharacterEncoding
public java.lang.String getCharacterEncoding()
Get the character encoding of the response.
- Specified by:
-
getCharacterEncoding
in interface
javax.servlet.ServletResponse
- Returns:
- The character encoding
getCode
public int getCode()
Get the response code for this request.
- Returns:
- The response code
getCookies
public java.util.Collection<javax.servlet.http.Cookie> getCookies()
Get all of the cookies that have been added to the response.
- Returns:
- The collection of cookies
getDocument
public java.lang.String getDocument()
Get the text document that was written as part of this response.
- Returns:
- The document
getErrorMessage
public java.lang.String getErrorMessage()
Get the error message.
- Returns:
- The error message, or null if no message
getHeader
public java.lang.String getHeader(java.lang.String name)
Return the value of the given named header.
- Specified by:
-
getHeader
in interface
javax.servlet.http.HttpServletResponse
- Parameters:
name
- The header name
- Returns:
- The value, or null
getHeaderNames
public java.util.Set<java.lang.String> getHeaderNames()
Get the names of all of the headers.
- Specified by:
-
getHeaderNames
in interface
javax.servlet.http.HttpServletResponse
- Returns:
- The header names
getLocale
public java.util.Locale getLocale()
Get the encoded locale.
- Specified by:
-
getLocale
in interface
javax.servlet.ServletResponse
- Returns:
- The locale
getOutputStream
public javax.servlet.ServletOutputStream getOutputStream()
Get the output stream for writing binary data from the servlet.
- Specified by:
-
getOutputStream
in interface
javax.servlet.ServletResponse
- Returns:
- The binary output stream.
getRedirectUrl
public java.lang.String getRedirectUrl()
Get the location that was redirected to.
- Returns:
- The redirect url, or null if not a redirect
getStatus
public int getStatus()
Get the status code.
- Specified by:
-
getStatus
in interface
javax.servlet.http.HttpServletResponse
- Returns:
- The status code
getWriter
public java.io.PrintWriter getWriter()
throws java.io.IOException
Get the print writer for writing text output for this response.
- Specified by:
-
getWriter
in interface
javax.servlet.ServletResponse
- Returns:
- The writer
- Throws:
-
java.io.IOException
- - if an input or output exception
occurred
initialize
public void initialize()
Reset the response ready for reuse.
reset
public void reset()
Delegate to initialise method.
- Specified by:
-
reset
in interface javax.servlet.ServletResponse
isCommitted
public boolean isCommitted()
Always returns false.
- Specified by:
-
isCommitted
in interface
javax.servlet.ServletResponse
- Returns:
- Always false
isError
public boolean isError()
Return whether the servlet returned an error code or not.
- Returns:
- Whether an error occurred or not
isRedirect
public boolean isRedirect()
Check whether the response was redirected or not.
- Returns:
- Whether the state was redirected or not
resetBuffer
public void resetBuffer()
Clears the buffer.
- Specified by:
-
resetBuffer
in interface
javax.servlet.ServletResponse
sendError
public void sendError(int code)
throws java.io.IOException
Send an error code. This implementation just sets the internal error state
information.
- Specified by:
-
sendError
in interface
javax.servlet.http.HttpServletResponse
- Parameters:
code
- The code
- Throws:
java.io.IOException
- Not used
sendError
public void sendError(int code,
java.lang.String msg)
throws java.io.IOException
Send an error code. This implementation just sets the internal error state
information.
- Specified by:
-
sendError
in interface
javax.servlet.http.HttpServletResponse
- Parameters:
code
- The error code
msg
- The error message
- Throws:
java.io.IOException
- Not used
sendRedirect
public void sendRedirect(java.lang.String url)
throws java.io.IOException
Indicate sending of a redirectUrl to a particular named resource. This
implementation just keeps hold of the redirectUrl info and makes it available
for querying.
- Specified by:
-
sendRedirect
in interface
javax.servlet.http.HttpServletResponse
- Parameters:
url
- The url to set redirectUrl to
- Throws:
java.io.IOException
- Not used
setBufferSize
public void setBufferSize(int size)
Method ignored.
- Specified by:
-
setBufferSize
in interface
javax.servlet.ServletResponse
- Parameters:
size
- The size
setCharacterEncoding
public void setCharacterEncoding(java.lang.String characterEncoding)
Set the character encoding.
- Specified by:
-
setCharacterEncoding
in interface
javax.servlet.ServletResponse
- Parameters:
characterEncoding
- The character encoding
setContentLength
public void setContentLength(int length)
Set the content length.
- Specified by:
-
setContentLength
in interface
javax.servlet.ServletResponse
- Parameters:
length
- The length
setContentType
public void setContentType(java.lang.String type)
Set the content type.
- Specified by:
-
setContentType
in interface
javax.servlet.ServletResponse
- Parameters:
type
- The content type
getContentType
public java.lang.String getContentType()
Return the response content type.
- Specified by:
-
getContentType
in interface
javax.servlet.ServletResponse
- Returns:
- the response content type
setDateHeader
public void setDateHeader(java.lang.String name,
long l)
Set a date header.
- Specified by:
-
setDateHeader
in interface
javax.servlet.http.HttpServletResponse
- Parameters:
name
- The header name
l
- The long value
formatDate
public static java.lang.String formatDate(long value)
Formats the specified long value as a date.
- Parameters:
value
- the specified long value to format
- Returns:
- the formatted date
formatDate
public static void formatDate(java.lang.StringBuffer buf,
java.util.Calendar calendar,
boolean cookie)
Format HTTP date "EEE, dd MMM yyyy HH:mm:ss 'GMT'" or "EEE, dd-MMM-yy HH:mm:ss
'GMT'" for cookies.
- Parameters:
buf
- the buffer to render to formatted date to
calendar
- the date to format
cookie
- should date be formatted for usage in a cookie
append2digits
public static void append2digits(java.lang.StringBuffer buf,
int i)
Append two digits if specified int is less than 100.
- Parameters:
buf
- the buffer to add 2 digits to
i
- the digits to add
setHeader
public void setHeader(java.lang.String name,
java.lang.String value)
Set the given header value.
- Specified by:
-
setHeader
in interface
javax.servlet.http.HttpServletResponse
- Parameters:
name
- The name for the header
value
- The value for the header
setIntHeader
public void setIntHeader(java.lang.String name,
int i)
Set an int header value.
- Specified by:
-
setIntHeader
in interface
javax.servlet.http.HttpServletResponse
- Parameters:
name
- The header name
i
- The value
setLocale
public void setLocale(java.util.Locale locale)
Set the locale in the response header.
- Specified by:
-
setLocale
in interface
javax.servlet.ServletResponse
- Parameters:
locale
- The locale
setStatus
public void setStatus(int status)
Set the status for this response.
- Specified by:
-
setStatus
in interface
javax.servlet.http.HttpServletResponse
- Parameters:
status
- The status
setStatus
public void setStatus(int status,
java.lang.String msg)
Deprecated. Set the status for this response.
- Specified by:
-
setStatus
in interface
javax.servlet.http.HttpServletResponse
- Parameters:
status
- The status
msg
- The message
setContentLengthLong
public void setContentLengthLong(long len)
Set the content length long.
- Specified by:
-
setContentLengthLong
in interface
javax.servlet.ServletResponse
- Parameters:
len
- the content length
getHeaders
public java.util.Collection<java.lang.String> getHeaders(java.lang.String name)
Return the request headers.
- Specified by:
-
getHeaders
in interface
javax.servlet.http.HttpServletResponse
- Parameters:
name
- the header name
- Returns:
- headers