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.
Note: As of Spring Framework 5.0, this wrapper is built on the Servlet 3.1 API.
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.
|
java.io.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.
|
java.io.PrintWriter |
getWriter() |
void |
reset() |
void |
resetBuffer() |
void |
sendError(int sc) |
void |
sendError(int sc,
java.lang.String msg) |
void |
sendRedirect(java.lang.String location) |
void |
setBufferSize(int size) |
void |
setContentLength(int len) |
void |
setContentLengthLong(long len) |
void |
setStatus(int sc) |
void |
setStatus(int sc,
java.lang.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,
java.lang.String sm)
setStatus in interface HttpServletResponsesetStatus in class HttpServletResponseWrapperpublic void sendError(int sc)
throws java.io.IOException
sendError in interface HttpServletResponsesendError in class HttpServletResponseWrapperjava.io.IOExceptionpublic void sendError(int sc,
java.lang.String msg)
throws java.io.IOException
sendError in interface HttpServletResponsesendError in class HttpServletResponseWrapperjava.io.IOExceptionpublic void sendRedirect(java.lang.String location)
throws java.io.IOException
sendRedirect in interface HttpServletResponsesendRedirect in class HttpServletResponseWrapperjava.io.IOExceptionpublic ServletOutputStream getOutputStream() throws java.io.IOException
getOutputStream in interface ServletResponsegetOutputStream in class ServletResponseWrapperjava.io.IOExceptionpublic java.io.PrintWriter getWriter()
throws java.io.IOException
getWriter in interface ServletResponsegetWriter in class ServletResponseWrapperjava.io.IOExceptionpublic void flushBuffer()
throws java.io.IOException
flushBuffer in interface ServletResponseflushBuffer in class ServletResponseWrapperjava.io.IOExceptionpublic 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 java.io.InputStream getContentInputStream()
InputStream to the cached content.public int getContentSize()
public void copyBodyToResponse()
throws java.io.IOException
java.io.IOExceptionprotected void copyBodyToResponse(boolean complete)
throws java.io.IOException
complete - whether to set a corresponding content length
for the complete cached body contentjava.io.IOException