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 theHttpServletResponse
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 Constructor Description OnCommittedResponseWrapper(javax.servlet.http.HttpServletResponse response)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
addHeader(java.lang.String name, java.lang.String value)
protected void
disableOnResponseCommitted()
Invoke this method to disable invokingonResponseCommitted()
when theHttpServletResponse
is committed.void
flushBuffer()
Makes sureonResponseCommitted()
is invoked before calling the superclassflushBuffer()
javax.servlet.ServletOutputStream
getOutputStream()
Makes sureonResponseCommitted()
is invoked before calling the callinggetOutputStream().close()
orgetOutputStream().flush()
java.io.PrintWriter
getWriter()
Makes sureonResponseCommitted()
is invoked before calling thegetWriter().close()
orgetWriter().flush()
protected boolean
isDisableOnResponseCommitted()
Returns true ifonResponseCommitted()
will be invoked when the response is committed, else false.protected abstract void
onResponseCommitted()
Implement the logic for handling theHttpServletResponse
being committedvoid
sendError(int sc)
Makes sureonResponseCommitted()
is invoked before calling the superclasssendError()
void
sendError(int sc, java.lang.String msg)
Makes sureonResponseCommitted()
is invoked before calling the superclasssendError()
void
sendRedirect(java.lang.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
-
-
-
-
Method Detail
-
addHeader
public void addHeader(java.lang.String name, java.lang.String value)
- 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
public final void sendError(int sc) throws java.io.IOException
Makes sureonResponseCommitted()
is invoked before calling the superclasssendError()
- Specified by:
sendError
in interfacejavax.servlet.http.HttpServletResponse
- Overrides:
sendError
in classjavax.servlet.http.HttpServletResponseWrapper
- Throws:
java.io.IOException
-
sendError
public final void sendError(int sc, java.lang.String msg) throws java.io.IOException
Makes sureonResponseCommitted()
is invoked before calling the superclasssendError()
- Specified by:
sendError
in interfacejavax.servlet.http.HttpServletResponse
- Overrides:
sendError
in classjavax.servlet.http.HttpServletResponseWrapper
- Throws:
java.io.IOException
-
sendRedirect
public final void sendRedirect(java.lang.String location) throws java.io.IOException
Makes sureonResponseCommitted()
is invoked before calling the superclasssendRedirect()
- Specified by:
sendRedirect
in interfacejavax.servlet.http.HttpServletResponse
- Overrides:
sendRedirect
in classjavax.servlet.http.HttpServletResponseWrapper
- Throws:
java.io.IOException
-
getOutputStream
public javax.servlet.ServletOutputStream getOutputStream() throws java.io.IOException
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:
java.io.IOException
-
getWriter
public java.io.PrintWriter getWriter() throws java.io.IOException
Makes sureonResponseCommitted()
is invoked before calling thegetWriter().close()
orgetWriter().flush()
- Specified by:
getWriter
in interfacejavax.servlet.ServletResponse
- Overrides:
getWriter
in classjavax.servlet.ServletResponseWrapper
- Throws:
java.io.IOException
-
flushBuffer
public void flushBuffer() throws java.io.IOException
Makes sureonResponseCommitted()
is invoked before calling the superclassflushBuffer()
- Specified by:
flushBuffer
in interfacejavax.servlet.ServletResponse
- Overrides:
flushBuffer
in classjavax.servlet.ServletResponseWrapper
- Throws:
java.io.IOException
-
-