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(); } }
