Repository: wicket
Updated Branches:
  refs/heads/master 49232763b -> 3179d3497


WICKET-6345 Check for non-null PushBuilder before trying to use it


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/3179d349
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/3179d349
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/3179d349

Branch: refs/heads/master
Commit: 3179d34971878dc7755b629baf459d1a494601d7
Parents: 4923276
Author: Martin Tzvetanov Grigorov <[email protected]>
Authored: Thu Mar 23 17:28:30 2017 +0100
Committer: Martin Tzvetanov Grigorov <[email protected]>
Committed: Thu Mar 23 17:28:30 2017 +0100

----------------------------------------------------------------------
 .../http2/markup/head/UndertowPushBuilder.java  | 21 ++++++++++++++------
 1 file changed, 15 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/3179d349/wicket-experimental/wicket-http2/wicket-http2-undertow/src/main/java/org/apache/wicket/http2/markup/head/UndertowPushBuilder.java
----------------------------------------------------------------------
diff --git 
a/wicket-experimental/wicket-http2/wicket-http2-undertow/src/main/java/org/apache/wicket/http2/markup/head/UndertowPushBuilder.java
 
b/wicket-experimental/wicket-http2/wicket-http2-undertow/src/main/java/org/apache/wicket/http2/markup/head/UndertowPushBuilder.java
index 0d8afa0..67eba92 100644
--- 
a/wicket-experimental/wicket-http2/wicket-http2-undertow/src/main/java/org/apache/wicket/http2/markup/head/UndertowPushBuilder.java
+++ 
b/wicket-experimental/wicket-http2/wicket-http2-undertow/src/main/java/org/apache/wicket/http2/markup/head/UndertowPushBuilder.java
@@ -20,6 +20,8 @@ import javax.servlet.http.HttpServletRequest;
 
 import org.apache.wicket.request.Request;
 import org.apache.wicket.request.cycle.RequestCycle;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Allows to push resources with the Undertow 2+ specific push builder API
@@ -28,9 +30,8 @@ import org.apache.wicket.request.cycle.RequestCycle;
  */
 public class UndertowPushBuilder implements PushBuilder
 {
-       /**
-        * @see {@link org.apache.wicket.http2.markup.head.PushBuilder}
-        */
+       private static final Logger LOG = 
LoggerFactory.getLogger(UndertowPushBuilder.class);
+
        @Override
        public void push(HttpServletRequest httpServletRequest, String... paths)
        {
@@ -39,10 +40,18 @@ public class UndertowPushBuilder implements PushBuilder
                io.undertow.servlet.spec.HttpServletRequestImpl undertowRequest 
= (io.undertow.servlet.spec.HttpServletRequestImpl) httpRequest;
                // Added explicit cast here to ensure this is the 
implementation of undertow
                io.undertow.servlet.spec.PushBuilderImpl pushBuilder = 
(io.undertow.servlet.spec.PushBuilderImpl)undertowRequest.getPushBuilder();
-               for (String path : paths)
+               if (pushBuilder != null)
+               {
+                       for (String path : paths)
+                       {
+                               pushBuilder.path(path);
+                       }
+                       pushBuilder.push();
+               }
+               else
                {
-                       pushBuilder.path(path);
+                       LOG.warn("Attempted to use HTTP2 Push but it is not 
supported for the current request: {}!",
+                                       httpRequest);
                }
-               pushBuilder.push();
        }
 }

Reply via email to