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()
The default behavior of this method is to call flushBuffer()
 on the wrapped response object. 
 | 
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()
The default behavior of this method is to return getOutputStream()
 on the wrapped response object. 
 | 
int | 
getStatusCode()
Return the status code as specified on the response. 
 | 
PrintWriter | 
getWriter()
The default behavior of this method is to return getWriter()
 on the wrapped response object. 
 | 
void | 
reset()
The default behavior of this method is to call reset()
 on the wrapped response object. 
 | 
void | 
resetBuffer()
The default behavior of this method is to call resetBuffer()
 on the wrapped response object. 
 | 
void | 
sendError(int sc)
The default behavior of this method is to call sendError(int sc)
 on the wrapped response object. 
 | 
void | 
sendError(int sc,
         String msg)
The default behavior of this method is to call sendError(int sc, String msg)
 on the wrapped response object. 
 | 
void | 
sendRedirect(String location)
The default behavior of this method is to return sendRedirect(String location)
 on the wrapped response object. 
 | 
void | 
setBufferSize(int size)
The default behavior of this method is to call setBufferSize(int size)
 on the wrapped response object. 
 | 
void | 
setContentLength(int len)
The default behavior of this method is to call setContentLength(int len)
 on the wrapped response object. 
 | 
void | 
setContentLengthLong(long len)
The default behavior of this method is to call setContentLengthLong(long len)
 on the wrapped response object. 
 | 
void | 
setStatus(int sc)
The default behavior of this method is to call setStatus(int sc)
 on the wrapped response object. 
 | 
void | 
setStatus(int sc,
         String sm)
The default behavior of this method is to call
 setStatus(int sc, String sm) on the wrapped response object. 
 | 
addCookie, addDateHeader, addHeader, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, getHeader, getHeaderNames, getHeaders, getStatus, getTrailerFields, setDateHeader, setHeader, setIntHeader, setTrailerFieldsgetBufferSize, 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)
javax.servlet.http.HttpServletResponseWrappersetStatus in interface HttpServletResponsesetStatus in class HttpServletResponseWrappersc - the status codeHttpServletResponse.sendError(int, java.lang.String)public void setStatus(int sc,
                      String sm)
javax.servlet.http.HttpServletResponseWrappersetStatus in interface HttpServletResponsesetStatus in class HttpServletResponseWrappersc - the status codesm - the status messagepublic void sendError(int sc)
               throws IOException
javax.servlet.http.HttpServletResponseWrappersendError in interface HttpServletResponsesendError in class HttpServletResponseWrappersc - the error status codeIOException - If an input or output exception occurspublic void sendError(int sc,
                      String msg)
               throws IOException
javax.servlet.http.HttpServletResponseWrappersendError in interface HttpServletResponsesendError in class HttpServletResponseWrappersc - the error status codemsg - the descriptive messageIOException - If an input or output exception occurspublic void sendRedirect(String location) throws IOException
javax.servlet.http.HttpServletResponseWrappersendRedirect in interface HttpServletResponsesendRedirect in class HttpServletResponseWrapperlocation - the redirect location URLIOException - If an input or output exception occurspublic ServletOutputStream getOutputStream() throws IOException
javax.servlet.ServletResponseWrappergetOutputStream in interface ServletResponsegetOutputStream in class ServletResponseWrapperServletOutputStream for writing binary dataIOException - if an input or output exception occurredServletResponse.getWriter(), 
ServletResponse.reset()public PrintWriter getWriter() throws IOException
javax.servlet.ServletResponseWrappergetWriter in interface ServletResponsegetWriter in class ServletResponseWrapperPrintWriter object that 
 can return character data to the clientUnsupportedEncodingException - if the character encoding returned
 by getCharacterEncoding cannot be usedIOException - if an input or output exception occurredServletResponse.getOutputStream(), 
ServletResponse.setCharacterEncoding(java.lang.String), 
ServletResponse.reset()public void flushBuffer()
                 throws IOException
javax.servlet.ServletResponseWrapperflushBuffer in interface ServletResponseflushBuffer in class ServletResponseWrapperIOException - if the act of flushing the buffer cannot be
 completed.ServletResponse.setBufferSize(int), 
ServletResponse.getBufferSize(), 
ServletResponse.isCommitted(), 
ServletResponse.reset()public void setContentLength(int len)
javax.servlet.ServletResponseWrappersetContentLength in interface ServletResponsesetContentLength in class ServletResponseWrapperlen - an integer specifying the length of the 
 content being returned to the client; sets the Content-Length headerpublic void setContentLengthLong(long len)
javax.servlet.ServletResponseWrappersetContentLengthLong in interface ServletResponsesetContentLengthLong in class ServletResponseWrapperlen - a long specifying the length of the 
 content being returned to the client; sets the Content-Length headerpublic void setBufferSize(int size)
javax.servlet.ServletResponseWrappersetBufferSize in interface ServletResponsesetBufferSize in class ServletResponseWrappersize - the preferred buffer sizeServletResponse.getBufferSize(), 
ServletResponse.flushBuffer(), 
ServletResponse.isCommitted(), 
ServletResponse.reset()public void resetBuffer()
javax.servlet.ServletResponseWrapperresetBuffer in interface ServletResponseresetBuffer in class ServletResponseWrapperServletResponse.setBufferSize(int), 
ServletResponse.getBufferSize(), 
ServletResponse.isCommitted(), 
ServletResponse.reset()public void reset()
javax.servlet.ServletResponseWrapperreset in interface ServletResponsereset in class ServletResponseWrapperServletResponse.setBufferSize(int), 
ServletResponse.getBufferSize(), 
ServletResponse.flushBuffer(), 
ServletResponse.isCommitted()public 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