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, Sam Brannen
- 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 TypeMethodDescriptionvoidvoidaddIntHeader(String name, int value) booleancontainsHeader(String name) voidCopy the complete cached body content to the response.protected voidcopyBodyToResponse(boolean complete) Copy the cached body content to the response.voidThis method neither flushes content to the client nor commits the underlying response, since the content has not yet been copied to the response.byte[]Return the cached response content as a byte array.Return anInputStreamto the cached content.intReturn the current size of the cached content.getHeaders(String name) voidreset()voidvoidsendError(int sc) voidvoidsendRedirect(String location) voidsetBufferSize(int size) voidsetContentLength(int len) voidsetContentLengthLong(long len) voidvoidsetIntHeader(String name, int value) Methods inherited from class jakarta.servlet.http.HttpServletResponseWrapperaddCookie, addDateHeader, encodeRedirectURL, encodeURL, getStatus, getTrailerFields, setDateHeader, 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
 
- 
flushBufferThis method neither flushes content to the client nor commits the underlying response, since the content has not yet been copied to the response.Invoke copyBodyToResponse()to copy the cached body content to the wrapped response object and flush its buffer.- Specified by:
- flushBufferin interface- ServletResponse
- Overrides:
- flushBufferin class- ServletResponseWrapper
- Throws:
- IOException
- See Also:
 
- 
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
 
- 
containsHeader- Specified by:
- containsHeaderin interface- HttpServletResponse
- Overrides:
- containsHeaderin class- HttpServletResponseWrapper
 
- 
setHeader- Specified by:
- setHeaderin interface- HttpServletResponse
- Overrides:
- setHeaderin class- HttpServletResponseWrapper
 
- 
addHeader- Specified by:
- addHeaderin interface- HttpServletResponse
- Overrides:
- addHeaderin class- HttpServletResponseWrapper
 
- 
setIntHeader- Specified by:
- setIntHeaderin interface- HttpServletResponse
- Overrides:
- setIntHeaderin class- HttpServletResponseWrapper
 
- 
addIntHeader- Specified by:
- addIntHeaderin interface- HttpServletResponse
- Overrides:
- addIntHeaderin class- HttpServletResponseWrapper
 
- 
getHeader- Specified by:
- getHeaderin interface- HttpServletResponse
- Overrides:
- getHeaderin class- HttpServletResponseWrapper
 
- 
getHeaders- Specified by:
- getHeadersin interface- HttpServletResponse
- Overrides:
- getHeadersin class- HttpServletResponseWrapper
 
- 
getHeaderNames- Specified by:
- getHeaderNamesin interface- HttpServletResponse
- Overrides:
- getHeaderNamesin class- HttpServletResponseWrapper
 
- 
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
 
 
-