public class ContentCachingResponseWrapper extends HttpServletResponseWrapper
http-HttpServletResponse
wrapper that caches all content written to
the output stream and writer,
and allows this content to be retrieved via a byte array
.
Used e.g. by ShallowEtagHeaderFilter
.
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 and Description |
---|
ContentCachingResponseWrapper(HttpServletResponse response)
Create a new ContentCachingResponseWrapper for the given servlet response.
|
Modifier and Type | Method and Description |
---|---|
byte[] |
getContentAsByteArray()
Return the cached response content as a byte array.
|
ServletOutputStream |
getOutputStream() |
int |
getStatusCode()
Return the status code as specifed on the response.
|
PrintWriter |
getWriter() |
void |
reset() |
void |
resetBuffer() |
void |
sendError(int sc) |
void |
sendError(int sc,
String msg) |
void |
sendRedirect(String location) |
void |
setBufferSize(int size) |
void |
setContentLength(int len) |
void |
setContentLengthLong(long len) |
void |
setStatus(int sc) |
void |
setStatus(int sc,
String sm) |
addCookie, addDateHeader, addHeader, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, getHeader, getHeaderNames, getHeaders, getStatus, setDateHeader, setHeader, setIntHeader
flushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, getResponse, isCommitted, isWrapperFor, isWrapperFor, setCharacterEncoding, setContentType, setLocale, setResponse
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
flushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, isCommitted, setCharacterEncoding, setContentType, setLocale
public ContentCachingResponseWrapper(HttpServletResponse response)
response
- the original servlet responsepublic void setStatus(int sc)
setStatus
in interface HttpServletResponse
setStatus
in class HttpServletResponseWrapper
public void setStatus(int sc, String sm)
setStatus
in interface HttpServletResponse
setStatus
in class HttpServletResponseWrapper
public void sendError(int sc) throws IOException
sendError
in interface HttpServletResponse
sendError
in class HttpServletResponseWrapper
IOException
public void sendError(int sc, String msg) throws IOException
sendError
in interface HttpServletResponse
sendError
in class HttpServletResponseWrapper
IOException
public void sendRedirect(String location) throws IOException
sendRedirect
in interface HttpServletResponse
sendRedirect
in class HttpServletResponseWrapper
IOException
public ServletOutputStream getOutputStream()
getOutputStream
in interface ServletResponse
getOutputStream
in class ServletResponseWrapper
public PrintWriter getWriter() throws IOException
getWriter
in interface ServletResponse
getWriter
in class ServletResponseWrapper
IOException
public void setContentLength(int len)
setContentLength
in interface ServletResponse
setContentLength
in class ServletResponseWrapper
public void setContentLengthLong(long len)
public void setBufferSize(int size)
setBufferSize
in interface ServletResponse
setBufferSize
in class ServletResponseWrapper
public void resetBuffer()
resetBuffer
in interface ServletResponse
resetBuffer
in class ServletResponseWrapper
public void reset()
reset
in interface ServletResponse
reset
in class ServletResponseWrapper
public int getStatusCode()
public byte[] getContentAsByteArray()