Class HttpServletResponseOutputWrapper
java.lang.Object
jakarta.servlet.ServletResponseWrapper
jakarta.servlet.http.HttpServletResponseWrapper
org.openremote.container.web.file.HttpServletResponseOutputWrapper
- All Implemented Interfaces:
jakarta.servlet.http.HttpServletResponse
,jakarta.servlet.ServletResponse
- Direct Known Subclasses:
GzipHttpServletResponse
public abstract class HttpServletResponseOutputWrapper
extends jakarta.servlet.http.HttpServletResponseWrapper
Convenience class for extending
HttpServletResponseWrapper
wherein the servlet response OutputStream
has to be replaced by a custom implementation. This saves the developer from writing repeated
getOutputStream()
, getWriter()
and flushBuffer()
boilerplate. All the developer has to do
is to implement the createOutputStream()
accordingly. This will in turn be used by both
getOutputStream()
and getWriter()
.
The boolean property passThrough
, which defaults to false
also enables the developer to
control whether to pass through to the wrapped ServletOutputStream
or not.
- Since:
- 1.1
-
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
ConstructorsConstructorDescriptionHttpServletResponseOutputWrapper
(jakarta.servlet.http.HttpServletResponse wrappedResponse) Construct a newHttpServletResponseOutputWrapper
which wraps the given response. -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Close the response body.protected abstract OutputStream
Returns the custom implementation of the servlet responseOutputStream
.void
jakarta.servlet.ServletOutputStream
boolean
Returns whether the response is committed or not.boolean
Returns whether the writing has to be passed through to the wrappedServletOutputStream
.void
reset()
void
setPassThrough
(boolean passThrough) Sets whether the writing has to be passed through to the wrappedServletOutputStream
.Methods inherited from class jakarta.servlet.http.HttpServletResponseWrapper
addCookie, addDateHeader, addHeader, addIntHeader, containsHeader, encodeRedirectURL, encodeURL, getHeader, getHeaderNames, getHeaders, getStatus, getTrailerFields, sendError, sendError, sendRedirect, setDateHeader, setHeader, setIntHeader, setStatus, setTrailerFields
Methods inherited from class jakarta.servlet.ServletResponseWrapper
getBufferSize, getCharacterEncoding, getContentType, getLocale, getResponse, isWrapperFor, isWrapperFor, resetBuffer, 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
getBufferSize, getCharacterEncoding, getContentType, getLocale, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentLengthLong, setContentType, setLocale
-
Constructor Details
-
HttpServletResponseOutputWrapper
public HttpServletResponseOutputWrapper(jakarta.servlet.http.HttpServletResponse wrappedResponse) Construct a newHttpServletResponseOutputWrapper
which wraps the given response.- Parameters:
wrappedResponse
- The wrapped response.
-
-
Method Details
-
createOutputStream
Returns the custom implementation of the servlet responseOutputStream
.- Returns:
- The custom implementation of the servlet response
OutputStream
.
-
getOutputStream
- Specified by:
getOutputStream
in interfacejakarta.servlet.ServletResponse
- Overrides:
getOutputStream
in classjakarta.servlet.ServletResponseWrapper
- Throws:
IOException
-
getWriter
- Specified by:
getWriter
in interfacejakarta.servlet.ServletResponse
- Overrides:
getWriter
in classjakarta.servlet.ServletResponseWrapper
- Throws:
IOException
-
flushBuffer
- Specified by:
flushBuffer
in interfacejakarta.servlet.ServletResponse
- Overrides:
flushBuffer
in classjakarta.servlet.ServletResponseWrapper
- Throws:
IOException
-
close
Close the response body. This closes any created writer or output stream.- Throws:
IOException
- When an I/O error occurs.
-
reset
public void reset()- Specified by:
reset
in interfacejakarta.servlet.ServletResponse
- Overrides:
reset
in classjakarta.servlet.ServletResponseWrapper
-
isCommitted
public boolean isCommitted()Returns whether the response is committed or not. The response is also considered committed when the resettable buffer has been flushed.- Specified by:
isCommitted
in interfacejakarta.servlet.ServletResponse
- Overrides:
isCommitted
in classjakarta.servlet.ServletResponseWrapper
- Returns:
true
if the response is committed, otherwisefalse
.
-
isPassThrough
public boolean isPassThrough()Returns whether the writing has to be passed through to the wrappedServletOutputStream
.- Returns:
true
, if the writing has to be passed through to the wrappedServletOutputStream
, otherwisefalse
.
-
setPassThrough
public void setPassThrough(boolean passThrough) Sets whether the writing has to be passed through to the wrappedServletOutputStream
.- Parameters:
passThrough
- set totrue
if the writing has to be passed through to the wrappedServletOutputStream
.
-