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 a
SlingHttpServletResponse
which buffers all output being written to getOutputStream()
or getWriter()
. The response cannot
be committed via flushBuffer()
but only via close()
. Access to the underlying buffer is provided via
getBufferedServletOutput()
.
Hint: This servlet wrapper must extend SlingHttpServletResponseWrapper
, 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
ConstructorsConstructorDescriptionBufferedSlingHttpServletResponse
(org.apache.sling.api.SlingHttpServletResponse wrappedResponse) BufferedSlingHttpServletResponse
(org.apache.sling.api.SlingHttpServletResponse wrappedResponse, StringWriter writer, ByteArrayOutputStream outputStream) -
Method Summary
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
Methods inherited from interface javax.servlet.ServletResponse
getBufferSize, getCharacterEncoding, getContentType, getLocale, isCommitted, reset, setBufferSize, setCharacterEncoding, setContentLength, setContentLengthLong, setContentType, setLocale
-
Constructor Details
-
BufferedSlingHttpServletResponse
public BufferedSlingHttpServletResponse(org.apache.sling.api.SlingHttpServletResponse wrappedResponse) -
BufferedSlingHttpServletResponse
public BufferedSlingHttpServletResponse(org.apache.sling.api.SlingHttpServletResponse wrappedResponse, StringWriter writer, ByteArrayOutputStream outputStream)
-
-
Method Details
-
getOutputStream
- Specified by:
getOutputStream
in interfacejavax.servlet.ServletResponse
- Overrides:
getOutputStream
in classjavax.servlet.ServletResponseWrapper
- Throws:
IOException
-
getWriter
- Specified by:
getWriter
in interfacejavax.servlet.ServletResponse
- Overrides:
getWriter
in classjavax.servlet.ServletResponseWrapper
- Throws:
IOException
-
flushBuffer
- Specified by:
flushBuffer
in interfacejavax.servlet.ServletResponse
- Overrides:
flushBuffer
in classjavax.servlet.ServletResponseWrapper
- Throws:
IOException
-
resetBuffer
public void resetBuffer()- Specified by:
resetBuffer
in interfacejavax.servlet.ServletResponse
- Overrides:
resetBuffer
in classjavax.servlet.ServletResponseWrapper
-
close
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Throws:
IOException
-
getBufferedServletOutput
- Returns:
- the underlying wrapper around the buffered output
-