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()