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 Summary
Fields inherited from interface jakarta.servlet.http.HttpServletResponse
SC_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 Summary
ConstructorsConstructorDescriptionCreate a new ContentCachingResponseWrapper for the given servlet response. -
Method Summary
Modifier 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.voidbyte[]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) voidsetContentType(String type) voidvoidsetIntHeader(String name, int value) Methods inherited from class jakarta.servlet.http.HttpServletResponseWrapper
addCookie, addDateHeader, encodeRedirectURL, encodeURL, getStatus, getTrailerFields, setDateHeader, setStatus, setTrailerFieldsMethods inherited from class jakarta.servlet.ServletResponseWrapper
getBufferSize, getCharacterEncoding, getLocale, getResponse, isCommitted, isWrapperFor, isWrapperFor, setCharacterEncoding, setLocale, setResponseMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface jakarta.servlet.ServletResponse
getBufferSize, getCharacterEncoding, getLocale, isCommitted, setCharacterEncoding, setLocale
-
Constructor Details
-
ContentCachingResponseWrapper
Create a new ContentCachingResponseWrapper for the given servlet response.- Parameters:
response- the original servlet response
-
-
Method Details
-
sendError
- Specified by:
sendErrorin interfaceHttpServletResponse- Overrides:
sendErrorin classHttpServletResponseWrapper- Throws:
IOException
-
sendError
- Specified by:
sendErrorin interfaceHttpServletResponse- Overrides:
sendErrorin classHttpServletResponseWrapper- Throws:
IOException
-
sendRedirect
- Specified by:
sendRedirectin interfaceHttpServletResponse- Overrides:
sendRedirectin classHttpServletResponseWrapper- Throws:
IOException
-
getOutputStream
- Specified by:
getOutputStreamin interfaceServletResponse- Overrides:
getOutputStreamin classServletResponseWrapper- Throws:
IOException
-
getWriter
- Specified by:
getWriterin interfaceServletResponse- Overrides:
getWriterin classServletResponseWrapper- Throws:
IOException
-
flushBuffer
- Specified by:
flushBufferin interfaceServletResponse- Overrides:
flushBufferin classServletResponseWrapper- Throws:
IOException
-
setContentLength
public void setContentLength(int len) - Specified by:
setContentLengthin interfaceServletResponse- Overrides:
setContentLengthin classServletResponseWrapper
-
setContentLengthLong
public void setContentLengthLong(long len) - Specified by:
setContentLengthLongin interfaceServletResponse- Overrides:
setContentLengthLongin classServletResponseWrapper
-
setContentType
- Specified by:
setContentTypein interfaceServletResponse- Overrides:
setContentTypein classServletResponseWrapper
-
getContentType
- Specified by:
getContentTypein interfaceServletResponse- Overrides:
getContentTypein classServletResponseWrapper
-
containsHeader
- Specified by:
containsHeaderin interfaceHttpServletResponse- Overrides:
containsHeaderin classHttpServletResponseWrapper
-
setHeader
- Specified by:
setHeaderin interfaceHttpServletResponse- Overrides:
setHeaderin classHttpServletResponseWrapper
-
addHeader
- Specified by:
addHeaderin interfaceHttpServletResponse- Overrides:
addHeaderin classHttpServletResponseWrapper
-
setIntHeader
- Specified by:
setIntHeaderin interfaceHttpServletResponse- Overrides:
setIntHeaderin classHttpServletResponseWrapper
-
addIntHeader
- Specified by:
addIntHeaderin interfaceHttpServletResponse- Overrides:
addIntHeaderin classHttpServletResponseWrapper
-
getHeader
- Specified by:
getHeaderin interfaceHttpServletResponse- Overrides:
getHeaderin classHttpServletResponseWrapper
-
getHeaders
- Specified by:
getHeadersin interfaceHttpServletResponse- Overrides:
getHeadersin classHttpServletResponseWrapper
-
getHeaderNames
- Specified by:
getHeaderNamesin interfaceHttpServletResponse- Overrides:
getHeaderNamesin classHttpServletResponseWrapper
-
setBufferSize
public void setBufferSize(int size) - Specified by:
setBufferSizein interfaceServletResponse- Overrides:
setBufferSizein classServletResponseWrapper
-
resetBuffer
public void resetBuffer()- Specified by:
resetBufferin interfaceServletResponse- Overrides:
resetBufferin classServletResponseWrapper
-
reset
public void reset()- Specified by:
resetin interfaceServletResponse- Overrides:
resetin classServletResponseWrapper
-
getContentAsByteArray
public byte[] getContentAsByteArray()Return the cached response content as a byte array. -
getContentInputStream
Return anInputStreamto the cached content.- Since:
- 4.2
-
getContentSize
public int getContentSize()Return the current size of the cached content.- Since:
- 4.2
-
copyBodyToResponse
Copy the complete cached body content to the response.- Throws:
IOException- Since:
- 4.2
-
copyBodyToResponse
Copy 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
-