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 ofHttpServletResponseWrapper
that applies a transformation on itsoutput stream
and/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 newHttpServletResponse
wrapper.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ServletOutputStream
getOutputStream()
PrintWriter
getWriter()
void
reset()
void
resetBuffer()
protected OutputStream
transform(ServletOutputStream outputStream)
Transforms the originalServletOutputStream
.protected Writer
transform(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 newHttpServletResponse
wrapper.- 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 originalServletOutputStream
to transform.- Returns:
- An
OutputStream
that 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:
getOutputStream
in interfaceServletResponse
- Overrides:
getOutputStream
in classServletResponseWrapper
- Throws:
IOException
-
transform
protected Writer transform(PrintWriter writer) throws IOException
Transforms the originalPrintWriter
.This default implementation returns the unmodified argument.
- Parameters:
writer
- The originalPrintWriter
to transform.- Returns:
- A
Writer
that 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:
getWriter
in interfaceServletResponse
- Overrides:
getWriter
in classServletResponseWrapper
- Throws:
IOException
-
resetBuffer
public void resetBuffer()
- Specified by:
resetBuffer
in interfaceServletResponse
- Overrides:
resetBuffer
in classServletResponseWrapper
-
reset
public void reset()
- Specified by:
reset
in interfaceServletResponse
- Overrides:
reset
in classServletResponseWrapper
-
-