org.infohazard.maverick.util
Class FakeHttpServletResponse
java.lang.Object
|
+--javax.servlet.ServletResponseWrapper
|
+--javax.servlet.http.HttpServletResponseWrapper
|
+--org.infohazard.maverick.util.FakeHttpServletResponse
- All Implemented Interfaces:
- javax.servlet.http.HttpServletResponse, javax.servlet.ServletResponse
- public class FakeHttpServletResponse
- extends javax.servlet.http.HttpServletResponseWrapper
Stores data written to the response and allows it to be obtained later.
Field Summary |
protected Buffer |
buffer
Actually holds all the output data. |
protected java.lang.String |
charset
We need to track the charset which is applied to the response
using setContentType so that we can intelligently convert between
streams and readers. |
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_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 |
FakeHttpServletResponse(javax.servlet.http.HttpServletResponse wrapMe)
Creates a response wrapper which buffers the output. |
Methods inherited from class javax.servlet.http.HttpServletResponseWrapper |
containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, sendError, sendError, sendRedirect, setStatus, setStatus |
Methods inherited from class javax.servlet.ServletResponseWrapper |
getBufferSize, getCharacterEncoding, getLocale, getResponse, isCommitted, reset, resetBuffer, setBufferSize, setResponse |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface javax.servlet.ServletResponse |
getBufferSize, getCharacterEncoding, getLocale, isCommitted, reset, resetBuffer, setBufferSize |
charset
protected java.lang.String charset
- We need to track the charset which is applied to the response
using setContentType so that we can intelligently convert between
streams and readers. If null, the default encoding is assumed.
buffer
protected Buffer buffer
- Actually holds all the output data.
FakeHttpServletResponse
public FakeHttpServletResponse(javax.servlet.http.HttpServletResponse wrapMe)
- Creates a response wrapper which buffers the output.
prefersReader
public boolean prefersReader()
- Returns:
- true if it is more efficient to call getOutputAsReader() than
getOutputAsString(). If false, getOutputAsString() should be used.
getOutputAsReader
public java.io.Reader getOutputAsReader()
throws java.io.UnsupportedEncodingException
- Provides the buffered output as a Reader. If output was written
using a ServletOutputStream, the charset defined in the content-type
is used to decode the data. If no charset is set, the default
encoding is assumed.
java.io.UnsupportedEncodingException
getOutputAsString
public java.lang.String getOutputAsString()
throws java.io.UnsupportedEncodingException
- Provides the buffered output as a String. If output was written
using a ServletOutputStream, the charset defined in the content-type
is used to decode the data. If no charset is set, the default
encoding is assumed.
java.io.UnsupportedEncodingException
outputSize
public int outputSize()
- Returns:
- the amount of data written to the output stream.
getOutputStream
public javax.servlet.ServletOutputStream getOutputStream()
throws java.io.IOException
- Specified by:
getOutputStream
in interface javax.servlet.ServletResponse
- Overrides:
getOutputStream
in class javax.servlet.ServletResponseWrapper
java.io.IOException
- See Also:
ServletResponse.getOutputStream()
getWriter
public java.io.PrintWriter getWriter()
throws java.io.IOException
- Specified by:
getWriter
in interface javax.servlet.ServletResponse
- Overrides:
getWriter
in class javax.servlet.ServletResponseWrapper
java.io.IOException
- See Also:
ServletResponse.getWriter()
setContentType
public void setContentType(java.lang.String type)
- Specified by:
setContentType
in interface javax.servlet.ServletResponse
- Overrides:
setContentType
in class javax.servlet.ServletResponseWrapper
- See Also:
ServletResponse.setContentType(java.lang.String)
setContentLength
public void setContentLength(int len)
- Specified by:
setContentLength
in interface javax.servlet.ServletResponse
- Overrides:
setContentLength
in class javax.servlet.ServletResponseWrapper
- See Also:
ServletResponse.setContentLength(int)
flushBuffer
public void flushBuffer()
throws java.io.IOException
- Specified by:
flushBuffer
in interface javax.servlet.ServletResponse
- Overrides:
flushBuffer
in class javax.servlet.ServletResponseWrapper
java.io.IOException
- See Also:
ServletResponse.flushBuffer()
setLocale
public void setLocale(java.util.Locale loc)
- Specified by:
setLocale
in interface javax.servlet.ServletResponse
- Overrides:
setLocale
in class javax.servlet.ServletResponseWrapper
- See Also:
ServletResponse.setLocale(java.util.Locale)
addCookie
public void addCookie(javax.servlet.http.Cookie cookie)
- Specified by:
addCookie
in interface javax.servlet.http.HttpServletResponse
- Overrides:
addCookie
in class javax.servlet.http.HttpServletResponseWrapper
- See Also:
ServletResponse#addCookie
setDateHeader
public void setDateHeader(java.lang.String name,
long date)
- Specified by:
setDateHeader
in interface javax.servlet.http.HttpServletResponse
- Overrides:
setDateHeader
in class javax.servlet.http.HttpServletResponseWrapper
- See Also:
ServletResponse#setDateHeader
addDateHeader
public void addDateHeader(java.lang.String name,
long date)
- Specified by:
addDateHeader
in interface javax.servlet.http.HttpServletResponse
- Overrides:
addDateHeader
in class javax.servlet.http.HttpServletResponseWrapper
- See Also:
ServletResponse#addDateHeader
setHeader
public void setHeader(java.lang.String name,
java.lang.String value)
- Specified by:
setHeader
in interface javax.servlet.http.HttpServletResponse
- Overrides:
setHeader
in class javax.servlet.http.HttpServletResponseWrapper
- See Also:
ServletResponse#setHeader
addHeader
public void addHeader(java.lang.String name,
java.lang.String value)
- Specified by:
addHeader
in interface javax.servlet.http.HttpServletResponse
- Overrides:
addHeader
in class javax.servlet.http.HttpServletResponseWrapper
- See Also:
ServletResponse#addHeader
setIntHeader
public void setIntHeader(java.lang.String name,
int value)
- Specified by:
setIntHeader
in interface javax.servlet.http.HttpServletResponse
- Overrides:
setIntHeader
in class javax.servlet.http.HttpServletResponseWrapper
- See Also:
ServletResponse#setIntHeader
addIntHeader
public void addIntHeader(java.lang.String name,
int value)
- Specified by:
addIntHeader
in interface javax.servlet.http.HttpServletResponse
- Overrides:
addIntHeader
in class javax.servlet.http.HttpServletResponseWrapper
- See Also:
ServletResponse#addIntHeader
getHttpResponse
protected javax.servlet.http.HttpServletResponse getHttpResponse()