Package org.springframework.web.util
Class ContentCachingResponseWrapper
- java.lang.Object
- javax.servlet.ServletResponseWrapper
- javax.servlet.http.HttpServletResponseWrapper
- org.springframework.web.util.ContentCachingResponseWrapper
- All Implemented Interfaces:
HttpServletResponse,ServletResponse
public class ContentCachingResponseWrapper extends HttpServletResponseWrapper
HttpServletResponsewrapper that caches all content written to the output stream and writer, and allows this content to be retrieved via abyte array.Used e.g. by
ShallowEtagHeaderFilter.- Since:
- 4.1.3
- Author:
- Juergen Hoeller
- See Also:
ContentCachingRequestWrapper
Field Summary
Fields inherited from interface javax.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
Constructors Constructor Description ContentCachingResponseWrapper(HttpServletResponse response)Create a new ContentCachingResponseWrapper for the given servlet response.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcopyBodyToResponse()Copy the complete cached body content to the response.protected voidcopyBodyToResponse(boolean complete)Copy the cached body content to the response.voidflushBuffer()byte[]getContentAsByteArray()Return the cached response content as a byte array.InputStreamgetContentInputStream()Return anInputStreamto the cached content.intgetContentSize()Return the current size of the cached content.ServletOutputStreamgetOutputStream()intgetStatusCode()Return the status code as specified on the response.PrintWritergetWriter()voidreset()voidresetBuffer()voidsendError(int sc)voidsendError(int sc, String msg)voidsendRedirect(String location)voidsetBufferSize(int size)voidsetContentLength(int len)voidsetContentLengthLong(long len)voidsetStatus(int sc)voidsetStatus(int sc, String sm)Methods inherited from class javax.servlet.http.HttpServletResponseWrapper
addCookie, addDateHeader, addHeader, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, getHeader, getHeaderNames, getHeaders, getStatus, setDateHeader, setHeader, setIntHeader
Methods inherited from class javax.servlet.ServletResponseWrapper
getBufferSize, getCharacterEncoding, getContentType, getLocale, getResponse, isCommitted, isWrapperFor, isWrapperFor, setCharacterEncoding, setContentType, setLocale, setResponse
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface javax.servlet.ServletResponse
getBufferSize, getCharacterEncoding, getContentType, getLocale, isCommitted, setCharacterEncoding, setContentType, setLocale
Constructor Detail
ContentCachingResponseWrapper
public ContentCachingResponseWrapper(HttpServletResponse response)
Create a new ContentCachingResponseWrapper for the given servlet response.- Parameters:
response- the original servlet response
Method Detail
setStatus
public void setStatus(int sc)
- Specified by:
setStatusin interfaceHttpServletResponse- Overrides:
setStatusin classHttpServletResponseWrapper
setStatus
public void setStatus(int sc, String sm)
- Specified by:
setStatusin interfaceHttpServletResponse- Overrides:
setStatusin classHttpServletResponseWrapper
sendError
public void sendError(int sc) throws IOException
- Specified by:
sendErrorin interfaceHttpServletResponse- Overrides:
sendErrorin classHttpServletResponseWrapper- Throws:
IOException
sendError
public void sendError(int sc, String msg) throws IOException
- Specified by:
sendErrorin interfaceHttpServletResponse- Overrides:
sendErrorin classHttpServletResponseWrapper- Throws:
IOException
sendRedirect
public void sendRedirect(String location) throws IOException
- Specified by:
sendRedirectin interfaceHttpServletResponse- Overrides:
sendRedirectin classHttpServletResponseWrapper- Throws:
IOException
getOutputStream
public ServletOutputStream getOutputStream() throws IOException
- Specified by:
getOutputStreamin interfaceServletResponse- Overrides:
getOutputStreamin classServletResponseWrapper- Throws:
IOException
getWriter
public PrintWriter getWriter() throws IOException
- Specified by:
getWriterin interfaceServletResponse- Overrides:
getWriterin classServletResponseWrapper- Throws:
IOException
flushBuffer
public void flushBuffer() throws IOException
- 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
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
getStatusCode
public int getStatusCode()
Return the status code as specified on the response.
getContentAsByteArray
public byte[] getContentAsByteArray()
Return the cached response content as a byte array.
getContentInputStream
public InputStream 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
public void copyBodyToResponse() throws IOException
Copy the complete cached body content to the response.- Throws:
IOException- Since:
- 4.2
copyBodyToResponse
protected void copyBodyToResponse(boolean complete) throws IOException
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