Class CopyingResponseWrapper
- java.lang.Object
-
- javax.servlet.ServletResponseWrapper
-
- javax.servlet.http.HttpServletResponseWrapper
-
- org.nuxeo.ecm.platform.web.common.idempotency.CopyingResponseWrapper
-
- All Implemented Interfaces:
AutoCloseable
,javax.servlet.http.HttpServletResponse
,javax.servlet.ServletResponse
public class CopyingResponseWrapper extends javax.servlet.http.HttpServletResponseWrapper implements AutoCloseable
Response wrapper that can capture response result, using aDeferredFileOutputStream
.- Since:
- 11.5
-
-
Field Summary
Fields Modifier and Type Field Description protected org.apache.commons.io.output.DeferredFileOutputStream
copy
protected javax.servlet.ServletOutputStream
output
protected PrintWriter
writer
-
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 CopyingResponseWrapper(int threshold, javax.servlet.http.HttpServletResponse response)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
void
flushBuffer()
byte[]
getCopyAsBytes()
protected CopyingServletOutputStream
getCopyingOutputStream()
long
getCopySize()
javax.servlet.ServletOutputStream
getOutputStream()
PrintWriter
getWriter()
-
Methods inherited from class javax.servlet.http.HttpServletResponseWrapper
addCookie, addDateHeader, addHeader, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, getHeader, getHeaderNames, getHeaders, getStatus, getTrailerFields, sendError, sendError, sendRedirect, setDateHeader, setHeader, setIntHeader, setStatus, setStatus, setTrailerFields
-
Methods inherited from class javax.servlet.ServletResponseWrapper
getBufferSize, getCharacterEncoding, getContentType, getLocale, getResponse, isCommitted, isWrapperFor, isWrapperFor, reset, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentLengthLong, setContentType, setLocale, setResponse
-
-
-
-
Field Detail
-
output
protected javax.servlet.ServletOutputStream output
-
writer
protected PrintWriter writer
-
copy
protected final org.apache.commons.io.output.DeferredFileOutputStream copy
-
-
Method Detail
-
getCopyingOutputStream
protected CopyingServletOutputStream getCopyingOutputStream() throws IOException
- Throws:
IOException
-
getOutputStream
public javax.servlet.ServletOutputStream getOutputStream() throws IOException
- Specified by:
getOutputStream
in interfacejavax.servlet.ServletResponse
- Overrides:
getOutputStream
in classjavax.servlet.ServletResponseWrapper
- Throws:
IOException
-
getWriter
public PrintWriter getWriter() throws IOException
- Specified by:
getWriter
in interfacejavax.servlet.ServletResponse
- Overrides:
getWriter
in classjavax.servlet.ServletResponseWrapper
- Throws:
IOException
-
flushBuffer
public void flushBuffer() throws IOException
- Specified by:
flushBuffer
in interfacejavax.servlet.ServletResponse
- Overrides:
flushBuffer
in classjavax.servlet.ServletResponseWrapper
- Throws:
IOException
-
close
public void close() throws IOException
- Specified by:
close
in interfaceAutoCloseable
- Throws:
IOException
-
getCopySize
public long getCopySize()
-
getCopyAsBytes
public byte[] getCopyAsBytes() throws IOException
- Throws:
IOException
-
-