Class OnCommittedResponseWrapper
java.lang.Object
javax.servlet.ServletResponseWrapper
javax.servlet.http.HttpServletResponseWrapper
org.springframework.security.web.util.OnCommittedResponseWrapper
- All Implemented Interfaces:
javax.servlet.http.HttpServletResponse
,javax.servlet.ServletResponse
- Direct Known Subclasses:
SaveContextOnUpdateOrErrorResponseWrapper
public abstract class OnCommittedResponseWrapper
extends javax.servlet.http.HttpServletResponseWrapper
Base class for response wrappers which encapsulate the logic for handling an event when
the
HttpServletResponse
is committed.- Since:
- 4.0.2
-
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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
protected void
Invoke this method to disable invokingonResponseCommitted()
when theHttpServletResponse
is committed.void
Makes sureonResponseCommitted()
is invoked before calling the superclassflushBuffer()
javax.servlet.ServletOutputStream
Makes sureonResponseCommitted()
is invoked before calling the callinggetOutputStream().close()
orgetOutputStream().flush()
Makes sureonResponseCommitted()
is invoked before calling thegetWriter().close()
orgetWriter().flush()
protected boolean
Returns true ifonResponseCommitted()
will be invoked when the response is committed, else false.protected abstract void
Implement the logic for handling theHttpServletResponse
being committedfinal void
sendError
(int sc) Makes sureonResponseCommitted()
is invoked before calling the superclasssendError()
final void
Makes sureonResponseCommitted()
is invoked before calling the superclasssendError()
final void
sendRedirect
(String location) Makes sureonResponseCommitted()
is invoked before calling the superclasssendRedirect()
void
setContentLength
(int len) void
setContentLengthLong
(long len) Methods inherited from class javax.servlet.http.HttpServletResponseWrapper
addCookie, addDateHeader, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, getHeader, getHeaderNames, getHeaders, getStatus, getTrailerFields, setDateHeader, setHeader, setIntHeader, setStatus, setStatus, setTrailerFields
Methods inherited from class javax.servlet.ServletResponseWrapper
getBufferSize, getCharacterEncoding, getContentType, getLocale, getResponse, isCommitted, isWrapperFor, isWrapperFor, reset, resetBuffer, setBufferSize, setCharacterEncoding, 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.ServletResponse
getBufferSize, getCharacterEncoding, getContentType, getLocale, isCommitted, reset, resetBuffer, setBufferSize, setCharacterEncoding, setContentType, setLocale
-
Constructor Details
-
OnCommittedResponseWrapper
public OnCommittedResponseWrapper(javax.servlet.http.HttpServletResponse response) - Parameters:
response
- the response to be wrapped
-
-
Method Details
-
addHeader
- Specified by:
addHeader
in interfacejavax.servlet.http.HttpServletResponse
- Overrides:
addHeader
in classjavax.servlet.http.HttpServletResponseWrapper
-
setContentLength
public void setContentLength(int len) - Specified by:
setContentLength
in interfacejavax.servlet.ServletResponse
- Overrides:
setContentLength
in classjavax.servlet.ServletResponseWrapper
-
setContentLengthLong
public void setContentLengthLong(long len) - Specified by:
setContentLengthLong
in interfacejavax.servlet.ServletResponse
- Overrides:
setContentLengthLong
in classjavax.servlet.ServletResponseWrapper
-
disableOnResponseCommitted
protected void disableOnResponseCommitted()Invoke this method to disable invokingonResponseCommitted()
when theHttpServletResponse
is committed. This can be useful in the event that Async Web Requests are made. -
isDisableOnResponseCommitted
protected boolean isDisableOnResponseCommitted()Returns true ifonResponseCommitted()
will be invoked when the response is committed, else false.- Returns:
- if
onResponseCommitted()
is enabled
-
onResponseCommitted
protected abstract void onResponseCommitted()Implement the logic for handling theHttpServletResponse
being committed -
sendError
Makes sureonResponseCommitted()
is invoked before calling the superclasssendError()
- Specified by:
sendError
in interfacejavax.servlet.http.HttpServletResponse
- Overrides:
sendError
in classjavax.servlet.http.HttpServletResponseWrapper
- Throws:
IOException
-
sendError
Makes sureonResponseCommitted()
is invoked before calling the superclasssendError()
- Specified by:
sendError
in interfacejavax.servlet.http.HttpServletResponse
- Overrides:
sendError
in classjavax.servlet.http.HttpServletResponseWrapper
- Throws:
IOException
-
sendRedirect
Makes sureonResponseCommitted()
is invoked before calling the superclasssendRedirect()
- Specified by:
sendRedirect
in interfacejavax.servlet.http.HttpServletResponse
- Overrides:
sendRedirect
in classjavax.servlet.http.HttpServletResponseWrapper
- Throws:
IOException
-
getOutputStream
Makes sureonResponseCommitted()
is invoked before calling the callinggetOutputStream().close()
orgetOutputStream().flush()
- Specified by:
getOutputStream
in interfacejavax.servlet.ServletResponse
- Overrides:
getOutputStream
in classjavax.servlet.ServletResponseWrapper
- Throws:
IOException
-
getWriter
Makes sureonResponseCommitted()
is invoked before calling thegetWriter().close()
orgetWriter().flush()
- Specified by:
getWriter
in interfacejavax.servlet.ServletResponse
- Overrides:
getWriter
in classjavax.servlet.ServletResponseWrapper
- Throws:
IOException
-
flushBuffer
Makes sureonResponseCommitted()
is invoked before calling the superclassflushBuffer()
- Specified by:
flushBuffer
in interfacejavax.servlet.ServletResponse
- Overrides:
flushBuffer
in classjavax.servlet.ServletResponseWrapper
- Throws:
IOException
-