/** * Copyright (c) 2011 CloudBees, Inc. * All rights reserved. * The copyrights to the contents of this file are licensed under the MIT License (http://www.opensource.org/licenses/mit-license.php) */ package hudson.security.csrf; import hudson.ExtensionList; import hudson.ExtensionPoint; import javax.servlet.FilterChain; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; /** * Allows plugins to define exceptions to the CSRF protection filter. * * @author Kohsuke Kawaguchi * @since 1.446 */ public abstract class CrumbExclusion implements ExtensionPoint { /** * This method is called for every incoming POST request. * * @return * true to indicate that the callee had processed this request * (for example by reporting an error, or by executing the rest of the chain.) */ public abstract boolean process(HttpServletRequest request, HttpServletResponse response, FilterChain chain) throws IOException, ServletException; public static ExtensionList<CrumbExclusion> all() { return ExtensionList.lookup(CrumbExclusion.class); } }