Package org.springframework.web.util
Class ContentCachingResponseWrapper
java.lang.Object
jakarta.servlet.ServletResponseWrapper
jakarta.servlet.http.HttpServletResponseWrapper
org.springframework.web.util.ContentCachingResponseWrapper
- All Implemented Interfaces:
- HttpServletResponse,- ServletResponse
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.
- Since:
- 4.1.3
- Author:
- Juergen Hoeller
- See Also:
- 
Field SummaryFields inherited from interface jakarta.servlet.http.HttpServletResponseSC_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 SummaryConstructorsConstructorDescriptionCreate a new ContentCachingResponseWrapper for the given servlet response.
- 
Method SummaryModifier and TypeMethodDescriptionvoidCopy the complete cached body content to the response.protected voidcopyBodyToResponse(boolean complete) Copy the cached body content to the response.voidbyte[]Return the cached response content as a byte array.Return anInputStreamto the cached content.intReturn the current size of the cached content.voidreset()voidvoidsendError(int sc) voidvoidsendRedirect(String location) voidsetBufferSize(int size) voidsetContentLength(int len) voidsetContentLengthLong(long len) Methods inherited from class jakarta.servlet.http.HttpServletResponseWrapperaddCookie, addDateHeader, addHeader, addIntHeader, containsHeader, encodeRedirectURL, encodeURL, getHeader, getHeaderNames, getHeaders, getStatus, getTrailerFields, setDateHeader, setHeader, setIntHeader, setStatus, setTrailerFieldsMethods inherited from class jakarta.servlet.ServletResponseWrappergetBufferSize, getCharacterEncoding, getContentType, getLocale, getResponse, isCommitted, isWrapperFor, isWrapperFor, setCharacterEncoding, setContentType, setLocale, setResponseMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface jakarta.servlet.ServletResponsegetBufferSize, getCharacterEncoding, getContentType, getLocale, isCommitted, setCharacterEncoding, setContentType, setLocale
- 
Constructor Details- 
ContentCachingResponseWrapperCreate a new ContentCachingResponseWrapper for the given servlet response.- Parameters:
- response- the original servlet response
 
 
- 
- 
Method Details- 
sendError- Specified by:
- sendErrorin interface- HttpServletResponse
- Overrides:
- sendErrorin class- HttpServletResponseWrapper
- Throws:
- IOException
 
- 
sendError- Specified by:
- sendErrorin interface- HttpServletResponse
- Overrides:
- sendErrorin class- HttpServletResponseWrapper
- Throws:
- IOException
 
- 
sendRedirect- Specified by:
- sendRedirectin interface- HttpServletResponse
- Overrides:
- sendRedirectin class- HttpServletResponseWrapper
- Throws:
- IOException
 
- 
getOutputStream- Specified by:
- getOutputStreamin interface- ServletResponse
- Overrides:
- getOutputStreamin class- ServletResponseWrapper
- Throws:
- IOException
 
- 
getWriter- Specified by:
- getWriterin interface- ServletResponse
- Overrides:
- getWriterin class- ServletResponseWrapper
- Throws:
- IOException
 
- 
flushBuffer- Specified by:
- flushBufferin interface- ServletResponse
- Overrides:
- flushBufferin class- ServletResponseWrapper
- Throws:
- IOException
 
- 
setContentLengthpublic void setContentLength(int len) - Specified by:
- setContentLengthin interface- ServletResponse
- Overrides:
- setContentLengthin class- ServletResponseWrapper
 
- 
setContentLengthLongpublic void setContentLengthLong(long len) - Specified by:
- setContentLengthLongin interface- ServletResponse
- Overrides:
- setContentLengthLongin class- ServletResponseWrapper
 
- 
setBufferSizepublic void setBufferSize(int size) - Specified by:
- setBufferSizein interface- ServletResponse
- Overrides:
- setBufferSizein class- ServletResponseWrapper
 
- 
resetBufferpublic void resetBuffer()- Specified by:
- resetBufferin interface- ServletResponse
- Overrides:
- resetBufferin class- ServletResponseWrapper
 
- 
resetpublic void reset()- Specified by:
- resetin interface- ServletResponse
- Overrides:
- resetin class- ServletResponseWrapper
 
- 
getContentAsByteArraypublic byte[] getContentAsByteArray()Return the cached response content as a byte array.
- 
getContentInputStreamReturn anInputStreamto the cached content.- Since:
- 4.2
 
- 
getContentSizepublic int getContentSize()Return the current size of the cached content.- Since:
- 4.2
 
- 
copyBodyToResponseCopy the complete cached body content to the response.- Throws:
- IOException
- Since:
- 4.2
 
- 
copyBodyToResponseCopy the cached body content to the response.- Parameters:
- complete- whether to set a corresponding content length for the complete cached body content
- Throws:
- IOException
- Since:
- 4.2
 
 
-