public class ContentCachingResponseWrapper extends HttpServletResponseWrapper
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.
ContentCachingRequestWrapperSC_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 |
|---|---|
void |
copyBodyToResponse()
Copy the complete cached body content to the response.
|
protected void |
copyBodyToResponse(boolean complete)
Copy the cached body content to the response.
|
void |
flushBuffer() |
byte[] |
getContentAsByteArray()
Return the cached response content as a byte array.
|
InputStream |
getContentInputStream()
Return an
InputStream to the cached content. |
int |
getContentSize()
Return the current size of the cached content.
|
ServletOutputStream |
getOutputStream() |
int |
getStatusCode()
Return the status code as specified 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, setIntHeadergetBufferSize, getCharacterEncoding, getContentType, getLocale, getResponse, isCommitted, isWrapperFor, isWrapperFor, setCharacterEncoding, setContentType, setLocale, setResponseclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetBufferSize, getCharacterEncoding, getContentType, getLocale, isCommitted, setCharacterEncoding, setContentType, setLocalepublic ContentCachingResponseWrapper(HttpServletResponse response)
response - the original servlet responsepublic void setStatus(int sc)
setStatus in interface HttpServletResponsesetStatus in class HttpServletResponseWrapperpublic void setStatus(int sc,
String sm)
setStatus in interface HttpServletResponsesetStatus in class HttpServletResponseWrapperpublic void sendError(int sc)
throws IOException
sendError in interface HttpServletResponsesendError in class HttpServletResponseWrapperIOExceptionpublic void sendError(int sc,
String msg)
throws IOException
sendError in interface HttpServletResponsesendError in class HttpServletResponseWrapperIOExceptionpublic void sendRedirect(String location) throws IOException
sendRedirect in interface HttpServletResponsesendRedirect in class HttpServletResponseWrapperIOExceptionpublic ServletOutputStream getOutputStream() throws IOException
getOutputStream in interface ServletResponsegetOutputStream in class ServletResponseWrapperIOExceptionpublic PrintWriter getWriter() throws IOException
getWriter in interface ServletResponsegetWriter in class ServletResponseWrapperIOExceptionpublic void flushBuffer()
throws IOException
flushBuffer in interface ServletResponseflushBuffer in class ServletResponseWrapperIOExceptionpublic void setContentLength(int len)
setContentLength in interface ServletResponsesetContentLength in class ServletResponseWrapperpublic void setContentLengthLong(long len)
setContentLengthLong in interface ServletResponsesetContentLengthLong in class ServletResponseWrapperpublic void setBufferSize(int size)
setBufferSize in interface ServletResponsesetBufferSize in class ServletResponseWrapperpublic void resetBuffer()
resetBuffer in interface ServletResponseresetBuffer in class ServletResponseWrapperpublic void reset()
reset in interface ServletResponsereset in class ServletResponseWrapperpublic int getStatusCode()
public byte[] getContentAsByteArray()
public InputStream getContentInputStream()
InputStream to the cached content.public int getContentSize()
public void copyBodyToResponse()
throws IOException
IOExceptionprotected void copyBodyToResponse(boolean complete)
throws IOException
complete - whether to set a corresponding content length
for the complete cached body contentIOException