Package com.adobe.acs.commons.util
Class BufferedSlingHttpServletResponse
- java.lang.Object
-
- javax.servlet.ServletResponseWrapper
-
- javax.servlet.http.HttpServletResponseWrapper
-
- org.apache.sling.api.wrappers.SlingHttpServletResponseWrapper
-
- com.adobe.acs.commons.util.BufferedSlingHttpServletResponse
-
- All Implemented Interfaces:
Closeable,AutoCloseable,javax.servlet.http.HttpServletResponse,javax.servlet.ServletResponse,org.apache.sling.api.adapter.Adaptable,org.apache.sling.api.SlingHttpServletResponse
public class BufferedSlingHttpServletResponse extends org.apache.sling.api.wrappers.SlingHttpServletResponseWrapper implements Closeable
A wrapper around aSlingHttpServletResponsewhich buffers all output being written togetOutputStream()orgetWriter(). The response cannot be committed viaflushBuffer()but only viaclose(). Access to the underlying buffer is provided viagetBufferedServletOutput(). Hint: This servlet wrapper must extendSlingHttpServletResponseWrapper, as otherwise RequestData.unwrap() throws exceptions
-
-
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 BufferedSlingHttpServletResponse(org.apache.sling.api.SlingHttpServletResponse wrappedResponse)BufferedSlingHttpServletResponse(org.apache.sling.api.SlingHttpServletResponse wrappedResponse, StringWriter writer, ByteArrayOutputStream outputStream)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()voidflushBuffer()BufferedServletOutputgetBufferedServletOutput()javax.servlet.ServletOutputStreamgetOutputStream()PrintWritergetWriter()voidresetBuffer()-
Methods inherited from class org.apache.sling.api.wrappers.SlingHttpServletResponseWrapper
adaptTo, getSlingResponse
-
Methods inherited from class javax.servlet.http.HttpServletResponseWrapper
addCookie, addDateHeader, addHeader, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, getHeader, getHeaderNames, getHeaders, getStatus, sendError, sendError, sendRedirect, setDateHeader, setHeader, setIntHeader, setStatus, setStatus
-
Methods inherited from class javax.servlet.ServletResponseWrapper
getBufferSize, getCharacterEncoding, getContentType, getLocale, getResponse, isCommitted, isWrapperFor, isWrapperFor, reset, setBufferSize, setCharacterEncoding, setContentLength, setContentLengthLong, 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.http.HttpServletResponse
addCookie, addDateHeader, addHeader, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, getHeader, getHeaderNames, getHeaders, getStatus, sendError, sendError, sendRedirect, setDateHeader, setHeader, setIntHeader, setStatus, setStatus
-
-
-
-
Constructor Detail
-
BufferedSlingHttpServletResponse
public BufferedSlingHttpServletResponse(org.apache.sling.api.SlingHttpServletResponse wrappedResponse)
-
BufferedSlingHttpServletResponse
public BufferedSlingHttpServletResponse(org.apache.sling.api.SlingHttpServletResponse wrappedResponse, StringWriter writer, ByteArrayOutputStream outputStream)
-
-
Method Detail
-
getOutputStream
public javax.servlet.ServletOutputStream getOutputStream() throws IOException- Specified by:
getOutputStreamin interfacejavax.servlet.ServletResponse- Overrides:
getOutputStreamin classjavax.servlet.ServletResponseWrapper- Throws:
IOException
-
getWriter
public PrintWriter getWriter() throws IOException
- Specified by:
getWriterin interfacejavax.servlet.ServletResponse- Overrides:
getWriterin classjavax.servlet.ServletResponseWrapper- Throws:
IOException
-
flushBuffer
public void flushBuffer() throws IOException- Specified by:
flushBufferin interfacejavax.servlet.ServletResponse- Overrides:
flushBufferin classjavax.servlet.ServletResponseWrapper- Throws:
IOException
-
resetBuffer
public void resetBuffer()
- Specified by:
resetBufferin interfacejavax.servlet.ServletResponse- Overrides:
resetBufferin classjavax.servlet.ServletResponseWrapper
-
close
public void close() throws IOException- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
IOException
-
getBufferedServletOutput
public BufferedServletOutput getBufferedServletOutput()
- Returns:
- the underlying wrapper around the buffered output
-
-