Module com.github.robtimus.servlet
Package com.github.robtimus.servlet.http
Class OutputTransformingHttpServletResponseWrapper
- java.lang.Object
-
- jakarta.servlet.ServletResponseWrapper
-
- jakarta.servlet.http.HttpServletResponseWrapper
-
- com.github.robtimus.servlet.http.OutputTransformingHttpServletResponseWrapper
-
- All Implemented Interfaces:
HttpServletResponse,ServletResponse
- Direct Known Subclasses:
BodyCapturingFilter.BodyCapturingResponse
public class OutputTransformingHttpServletResponseWrapper extends HttpServletResponseWrapper
A sub class ofHttpServletResponseWrapperthat applies a transformation on itsoutput streamand/orwriter.- Author:
- Rob Spoor
-
-
Field Summary
-
Fields inherited from interface jakarta.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 OutputTransformingHttpServletResponseWrapper(HttpServletResponse response)Creates a newHttpServletResponsewrapper.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ServletOutputStreamgetOutputStream()PrintWritergetWriter()voidreset()voidresetBuffer()protected OutputStreamtransform(ServletOutputStream outputStream)Transforms the originalServletOutputStream.protected Writertransform(PrintWriter writer)Transforms the originalPrintWriter.-
Methods inherited from class jakarta.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 jakarta.servlet.ServletResponseWrapper
flushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, getResponse, isCommitted, isWrapperFor, isWrapperFor, 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 jakarta.servlet.ServletResponse
flushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, isCommitted, setBufferSize, setCharacterEncoding, setContentLength, setContentLengthLong, setContentType, setLocale
-
-
-
-
Constructor Detail
-
OutputTransformingHttpServletResponseWrapper
public OutputTransformingHttpServletResponseWrapper(HttpServletResponse response)
Creates a newHttpServletResponsewrapper.- Parameters:
response- The response to wrap.- Throws:
IllegalArgumentException- If the response isnull.
-
-
Method Detail
-
transform
protected OutputStream transform(ServletOutputStream outputStream) throws IOException
Transforms the originalServletOutputStream.This default implementation returns the unmodified argument.
- Parameters:
outputStream- The originalServletOutputStreamto transform.- Returns:
- An
OutputStreamthat is the result of transforming the givenServletOutputStream. It does not necessary have to be aServletOutputStream. - Throws:
IOException- If an I/O error occurred during the transformation.
-
getOutputStream
public ServletOutputStream getOutputStream() throws IOException
- Specified by:
getOutputStreamin interfaceServletResponse- Overrides:
getOutputStreamin classServletResponseWrapper- Throws:
IOException
-
transform
protected Writer transform(PrintWriter writer) throws IOException
Transforms the originalPrintWriter.This default implementation returns the unmodified argument.
- Parameters:
writer- The originalPrintWriterto transform.- Returns:
- A
Writerthat is the result of transforming the givenPrintWriter. It does not necessary have to be aPrintWriter. - Throws:
IOException- If an I/O error occurred during the transformation.
-
getWriter
public PrintWriter getWriter() throws IOException
- Specified by:
getWriterin interfaceServletResponse- Overrides:
getWriterin classServletResponseWrapper- Throws:
IOException
-
resetBuffer
public void resetBuffer()
- Specified by:
resetBufferin interfaceServletResponse- Overrides:
resetBufferin classServletResponseWrapper
-
reset
public void reset()
- Specified by:
resetin interfaceServletResponse- Overrides:
resetin classServletResponseWrapper
-
-