Author: huxing
Date: Fri Mar 10 07:11:19 2017
New Revision: 1786293

URL: http://svn.apache.org/viewvc?rev=1786293&view=rev
Log:
Fix NPE for the server push example if HTTP/2 is not supported.

Modified:
    
tomcat/tc8.5.x/trunk/webapps/examples/WEB-INF/classes/http2/SimpleImagePush.java

Modified: 
tomcat/tc8.5.x/trunk/webapps/examples/WEB-INF/classes/http2/SimpleImagePush.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/webapps/examples/WEB-INF/classes/http2/SimpleImagePush.java?rev=1786293&r1=1786292&r2=1786293&view=diff
==============================================================================
--- 
tomcat/tc8.5.x/trunk/webapps/examples/WEB-INF/classes/http2/SimpleImagePush.java
 (original)
+++ 
tomcat/tc8.5.x/trunk/webapps/examples/WEB-INF/classes/http2/SimpleImagePush.java
 Fri Mar 10 07:11:19 2017
@@ -34,19 +34,29 @@ public class SimpleImagePush extends Htt
     protected void doGet(HttpServletRequest req, HttpServletResponse resp)
             throws ServletException, IOException {
 
-        PushBuilder pb = 
((org.apache.catalina.servlet4preview.http.HttpServletRequest)
-                req).getPushBuilder().path("servlets/images/code.gif");
-        pb.push();
-
         resp.setCharacterEncoding("UTF-8");
         resp.setContentType("text/html");
         PrintWriter pw = resp.getWriter();
-        pw.println("<html>");
-        pw.println("<body>");
-        pw.println("<p>The following image was provided via a push 
request.</p>");
-        pw.println("<img src=\"" + req.getContextPath() + 
"/servlets/images/code.gif\"/>");
-        pw.println("</body>");
-        pw.println("</html>");
-        pw.flush();
+
+        PushBuilder pb = 
((org.apache.catalina.servlet4preview.http.HttpServletRequest)
+                req).getPushBuilder();
+
+        if (pb != null) {
+            pb.path("servlets/images/code.gif");
+            pb.push();
+            pw.println("<html>");
+            pw.println("<body>");
+            pw.println("<p>The following image was provided via a push 
request.</p>");
+            pw.println("<img src=\"" + req.getContextPath() + 
"/servlets/images/code.gif\"/>");
+            pw.println("</body>");
+            pw.println("</html>");
+            pw.flush();
+        } else {
+            pw.println("<html>");
+            pw.println("<body>");
+            pw.println("<p>Server push requests are not supported by this 
protocol.</p>");
+            pw.println("</body>");
+            pw.println("</html>");
+        }
     }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to