Class NuxeoIdempotentFilter

  • All Implemented Interfaces:
    Serializable, javax.servlet.Filter, javax.servlet.FilterConfig

    public class NuxeoIdempotentFilter
    extends javax.servlet.http.HttpFilter
    Filter handling an idempotency key in POST requests.

    If HEADER_KEY is found in the request header, will intercept request handling to:

    • mark the request as being processed
    • capture the response when request was processed without any error and store it
    • return the stored response if a subsequent request with the same key is processed again
    • return a conflict response if a request with the same key is processed while the first request is still in progress.
    Since:
    11.5
    See Also:
    Serialized Form
    • Constructor Detail

      • NuxeoIdempotentFilter

        public NuxeoIdempotentFilter()
    • Method Detail

      • getStoreName

        protected String getStoreName()
      • doFilter

        protected void doFilter​(javax.servlet.http.HttpServletRequest request,
                                javax.servlet.http.HttpServletResponse response,
                                javax.servlet.FilterChain chain)
                         throws IOException,
                                javax.servlet.ServletException
        Overrides:
        doFilter in class javax.servlet.http.HttpFilter
        Throws:
        IOException
        javax.servlet.ServletException
      • doFilterIdempotent

        protected boolean doFilterIdempotent​(javax.servlet.http.HttpServletRequest request,
                                             javax.servlet.http.HttpServletResponse response,
                                             javax.servlet.FilterChain chain)
                                      throws IOException,
                                             javax.servlet.ServletException
        Throws:
        IOException
        javax.servlet.ServletException