Class OnCommittedResponseWrapper

java.lang.Object
jakarta.servlet.ServletResponseWrapper
jakarta.servlet.http.HttpServletResponseWrapper
org.springframework.security.web.util.OnCommittedResponseWrapper
All Implemented Interfaces:
jakarta.servlet.http.HttpServletResponse, jakarta.servlet.ServletResponse
Direct Known Subclasses:
SaveContextOnUpdateOrErrorResponseWrapper

public abstract class OnCommittedResponseWrapper extends jakarta.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 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
    OnCommittedResponseWrapper(jakarta.servlet.http.HttpServletResponse response)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addHeader(String name, String value)
     
    protected void
    Invoke this method to disable invoking onResponseCommitted() when the HttpServletResponse is committed.
    void
    Makes sure onResponseCommitted() is invoked before calling the superclass flushBuffer()
    jakarta.servlet.ServletOutputStream
    Makes sure onResponseCommitted() is invoked before calling the calling getOutputStream().close() or getOutputStream().flush()
    Makes sure onResponseCommitted() is invoked before calling the getWriter().close() or getWriter().flush()
    protected boolean
    Returns true if onResponseCommitted() will be invoked when the response is committed, else false.
    protected abstract void
    Implement the logic for handling the HttpServletResponse being committed
    final void
    sendError(int sc)
    Makes sure onResponseCommitted() is invoked before calling the superclass sendError()
    final void
    sendError(int sc, String msg)
    Makes sure onResponseCommitted() is invoked before calling the superclass sendError()
    final void
    sendRedirect(String location)
    Makes sure onResponseCommitted() is invoked before calling the superclass sendRedirect()
    void
     
    void
     

    Methods inherited from class jakarta.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 jakarta.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 jakarta.servlet.ServletResponse

    getBufferSize, getCharacterEncoding, getContentType, getLocale, isCommitted, reset, resetBuffer, setBufferSize, setCharacterEncoding, setContentType, setLocale
  • Constructor Details

    • OnCommittedResponseWrapper

      public OnCommittedResponseWrapper(jakarta.servlet.http.HttpServletResponse response)
      Parameters:
      response - the response to be wrapped
  • Method Details

    • addHeader

      public void addHeader(String name, String value)
      Specified by:
      addHeader in interface jakarta.servlet.http.HttpServletResponse
      Overrides:
      addHeader in class jakarta.servlet.http.HttpServletResponseWrapper
    • setContentLength

      public void setContentLength(int len)
      Specified by:
      setContentLength in interface jakarta.servlet.ServletResponse
      Overrides:
      setContentLength in class jakarta.servlet.ServletResponseWrapper
    • setContentLengthLong

      public void setContentLengthLong(long len)
      Specified by:
      setContentLengthLong in interface jakarta.servlet.ServletResponse
      Overrides:
      setContentLengthLong in class jakarta.servlet.ServletResponseWrapper
    • disableOnResponseCommitted

      protected void disableOnResponseCommitted()
      Invoke this method to disable invoking onResponseCommitted() when the HttpServletResponse is committed. This can be useful in the event that Async Web Requests are made.
    • isDisableOnResponseCommitted

      protected boolean isDisableOnResponseCommitted()
      Returns true if onResponseCommitted() 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 the HttpServletResponse being committed
    • sendError

      public final void sendError(int sc) throws IOException
      Makes sure onResponseCommitted() is invoked before calling the superclass sendError()
      Specified by:
      sendError in interface jakarta.servlet.http.HttpServletResponse
      Overrides:
      sendError in class jakarta.servlet.http.HttpServletResponseWrapper
      Throws:
      IOException
    • sendError

      public final void sendError(int sc, String msg) throws IOException
      Makes sure onResponseCommitted() is invoked before calling the superclass sendError()
      Specified by:
      sendError in interface jakarta.servlet.http.HttpServletResponse
      Overrides:
      sendError in class jakarta.servlet.http.HttpServletResponseWrapper
      Throws:
      IOException
    • sendRedirect

      public final void sendRedirect(String location) throws IOException
      Makes sure onResponseCommitted() is invoked before calling the superclass sendRedirect()
      Specified by:
      sendRedirect in interface jakarta.servlet.http.HttpServletResponse
      Overrides:
      sendRedirect in class jakarta.servlet.http.HttpServletResponseWrapper
      Throws:
      IOException
    • getOutputStream

      public jakarta.servlet.ServletOutputStream getOutputStream() throws IOException
      Makes sure onResponseCommitted() is invoked before calling the calling getOutputStream().close() or getOutputStream().flush()
      Specified by:
      getOutputStream in interface jakarta.servlet.ServletResponse
      Overrides:
      getOutputStream in class jakarta.servlet.ServletResponseWrapper
      Throws:
      IOException
    • getWriter

      public PrintWriter getWriter() throws IOException
      Makes sure onResponseCommitted() is invoked before calling the getWriter().close() or getWriter().flush()
      Specified by:
      getWriter in interface jakarta.servlet.ServletResponse
      Overrides:
      getWriter in class jakarta.servlet.ServletResponseWrapper
      Throws:
      IOException
    • flushBuffer

      public void flushBuffer() throws IOException
      Makes sure onResponseCommitted() is invoked before calling the superclass flushBuffer()
      Specified by:
      flushBuffer in interface jakarta.servlet.ServletResponse
      Overrides:
      flushBuffer in class jakarta.servlet.ServletResponseWrapper
      Throws:
      IOException