Class BufferingHttpServletResponse
- java.lang.Object
-
- javax.servlet.ServletResponseWrapper
-
- javax.servlet.http.HttpServletResponseWrapper
-
- org.nuxeo.ecm.platform.web.common.requestcontroller.filter.BufferingHttpServletResponse
-
- All Implemented Interfaces:
javax.servlet.http.HttpServletResponse
,javax.servlet.ServletResponse
public class BufferingHttpServletResponse extends javax.servlet.http.HttpServletResponseWrapper
Buffers the response untilstopBuffering()
is called.This allows a container to commit a transaction before the body is written to the client.
-
-
Field Summary
Fields Modifier and Type Field Description protected BufferingServletOutputStream
bufferingOutputStream
-
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 BufferingHttpServletResponse(javax.servlet.http.HttpServletResponse response)
AHttpServletResponse
wrapper that buffers all data untilstopBuffering()
is called.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
flushBuffer()
Don't flush if we are still buffering.BufferingServletOutputStream
getOutputStream()
PrintWriter
getWriter()
void
stopBuffering()
Stops buffering and sends any buffered data to the response's output stream.-
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
-
bufferingOutputStream
protected BufferingServletOutputStream bufferingOutputStream
-
-
Constructor Detail
-
BufferingHttpServletResponse
public BufferingHttpServletResponse(javax.servlet.http.HttpServletResponse response) throws IOException
AHttpServletResponse
wrapper that buffers all data untilstopBuffering()
is called.stopBuffering()
MUST be called in afinally
statement in order for resources to be closed properly.- Throws:
IOException
-
-
Method Detail
-
getOutputStream
public BufferingServletOutputStream 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
-
stopBuffering
public void stopBuffering() throws IOException
Stops buffering and sends any buffered data to the response's output stream.- Throws:
IOException
-
flushBuffer
public void flushBuffer() throws IOException
Don't flush if we are still buffering.- Specified by:
flushBuffer
in interfacejavax.servlet.ServletResponse
- Overrides:
flushBuffer
in classjavax.servlet.ServletResponseWrapper
- Throws:
IOException
-
-