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, getSlingResponseMethods 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, setStatusMethods inherited from class javax.servlet.ServletResponseWrapper
getBufferSize, getCharacterEncoding, getContentType, getLocale, getResponse, isCommitted, isWrapperFor, isWrapperFor, reset, setBufferSize, setCharacterEncoding, setContentLength, setContentLengthLong, setContentType, setLocale, setResponseMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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, setStatusMethods 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:
getOutputStreamin interfacejavax.servlet.ServletResponse- Overrides:
getOutputStreamin classjavax.servlet.ServletResponseWrapper- Throws:
IOException
-
getWriter
- Specified by:
getWriterin interfacejavax.servlet.ServletResponse- Overrides:
getWriterin classjavax.servlet.ServletResponseWrapper- Throws:
IOException
-
flushBuffer
- 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
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
IOException
-
getBufferedServletOutput
- Returns:
- the underlying wrapper around the buffered output
-