This is an automated email from the ASF dual-hosted git repository.

svenmeier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/wicket.git

commit 89ff73180766cbeb778f3c7b9f559cfb0df38436
Author: Sven Meier <svenme...@apache.org>
AuthorDate: Mon Mar 16 20:07:50 2020 +0100

    WICKET-6747 moved pageRender filter
    
    to settings, so it is easier to adjust
---
 .../apache/wicket/csp/CSPRequestCycleListener.java | 13 ++++--------
 .../wicket/csp/ContentSecurityPolicySettings.java  | 24 +++++++++++-----------
 2 files changed, 16 insertions(+), 21 deletions(-)

diff --git 
a/wicket-core/src/main/java/org/apache/wicket/csp/CSPRequestCycleListener.java 
b/wicket-core/src/main/java/org/apache/wicket/csp/CSPRequestCycleListener.java
index 3250174..c245b78 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/csp/CSPRequestCycleListener.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/csp/CSPRequestCycleListener.java
@@ -16,8 +16,6 @@
  */
 package org.apache.wicket.csp;
 
-import org.apache.wicket.core.request.handler.IPageClassRequestHandler;
-import org.apache.wicket.core.request.handler.RenderPageRequestHandler;
 import org.apache.wicket.request.IRequestHandler;
 import org.apache.wicket.request.IRequestHandlerDelegate;
 import org.apache.wicket.request.cycle.IRequestCycleListener;
@@ -28,7 +26,7 @@ import org.apache.wicket.request.http.WebResponse;
  * An {@link IRequestCycleListener} that adds {@code Content-Security-Policy} 
and/or
  * {@code Content-Security-Policy-Report-Only} headers based on the supplied 
configuration.
  *
- * @author Sven Haster
+ * @author Sven Hasters
  * @author Emond Papegaaij
  */
 public class CSPRequestCycleListener implements IRequestCycleListener
@@ -73,7 +71,7 @@ public class CSPRequestCycleListener implements 
IRequestCycleListener
         * @param handler
         *            handler
         * @return <code>true</code> if must protected
-        * @see 
ContentSecurityPolicySettings#mustProtectPageRequest(IPageClassRequestHandler)
+        * @see 
ContentSecurityPolicySettings#mustProtectRequest(IRequestHandler)
         */
        protected boolean mustProtect(IRequestHandler handler)
        {
@@ -81,11 +79,8 @@ public class CSPRequestCycleListener implements 
IRequestCycleListener
                {
                        return 
mustProtect(((IRequestHandlerDelegate)handler).getDelegateHandler());
                }
-               if (handler instanceof RenderPageRequestHandler)
-               {
-                       return 
settings.mustProtectPageRequest((RenderPageRequestHandler)handler);
-               }
-               return false;
+               
+               return settings.mustProtectRequest(handler);
        }
 
 }
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/csp/ContentSecurityPolicySettings.java
 
b/wicket-core/src/main/java/org/apache/wicket/csp/ContentSecurityPolicySettings.java
index edf6dc5..a768055 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/csp/ContentSecurityPolicySettings.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/csp/ContentSecurityPolicySettings.java
@@ -24,8 +24,8 @@ import java.util.function.Predicate;
 import org.apache.wicket.Application;
 import org.apache.wicket.MetaDataKey;
 import org.apache.wicket.Page;
-import org.apache.wicket.core.request.handler.IPageClassRequestHandler;
 import org.apache.wicket.core.request.handler.IPageRequestHandler;
+import org.apache.wicket.core.request.handler.RenderPageRequestHandler;
 import org.apache.wicket.protocol.http.WebApplication;
 import org.apache.wicket.request.IRequestHandler;
 import org.apache.wicket.request.cycle.RequestCycle;
@@ -70,7 +70,7 @@ public class ContentSecurityPolicySettings
        private final Map<CSPHeaderMode, CSPHeaderConfiguration> configs = new 
EnumMap<>(
                CSPHeaderMode.class);
 
-       private Predicate<IPageClassRequestHandler> protectedPageFilter = 
handler -> true;
+       private Predicate<IRequestHandler> protectedFilter = 
RenderPageRequestHandler.class::isInstance;
 
        public ContentSecurityPolicySettings(Application application)
        {
@@ -90,31 +90,31 @@ public class ContentSecurityPolicySettings
 
        /**
         * Sets the predicate that determines which requests must be protected 
by the CSP. When the
-        * predicate evaluates to false, the request for the page will not be 
protected.
+        * predicate evaluates to false, the request will not be protected.
         * 
-        * @param protectedPageFilter
+        * @param protectedFilter
         *            The new filter, must not be null.
         * @return {@code this} for chaining.
         */
-       public ContentSecurityPolicySettings setProtectedPageFilter(
-               Predicate<IPageClassRequestHandler> protectedPageFilter)
+       public ContentSecurityPolicySettings setProtectedFilter(
+               Predicate<IRequestHandler> protectedFilter)
        {
-               Args.notNull(protectedPageFilter, "protectedPageFilter");
-               this.protectedPageFilter = protectedPageFilter;
+               Args.notNull(protectedFilter, "protectedFilter");
+               this.protectedFilter = protectedFilter;
                return this;
        }
 
        /**
-        * Should any request to the given page be protected by CSP.
+        * Should any request be protected by CSP.
         *
         * @param handler
         * @return <code>true</code> by default
         * 
-        * @see #setProtectedPageFilter(Predicate)
+        * @see #setProtectedFilter(Predicate)
         */
-       protected boolean mustProtectPageRequest(IPageClassRequestHandler 
handler)
+       protected boolean mustProtectRequest(IRequestHandler handler)
        {
-               return protectedPageFilter.test(handler);
+               return protectedFilter.test(handler);
        }
 
        /**

Reply via email to