Author: markt
Date: Thu Oct 15 10:51:55 2015
New Revision: 1708785

URL: http://svn.apache.org/viewvc?rev=1708785&view=rev
Log:
Servlet 4.0
Add the ability to get/set the HTTP method to the PushBuilder

Modified:
    tomcat/trunk/java/javax/servlet/http/PushBuilder.java
    tomcat/trunk/java/org/apache/catalina/core/ApplicationPushBuilder.java

Modified: tomcat/trunk/java/javax/servlet/http/PushBuilder.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/http/PushBuilder.java?rev=1708785&r1=1708784&r2=1708785&view=diff
==============================================================================
--- tomcat/trunk/java/javax/servlet/http/PushBuilder.java (original)
+++ tomcat/trunk/java/javax/servlet/http/PushBuilder.java Thu Oct 15 10:51:55 
2015
@@ -33,6 +33,15 @@ import java.util.Set;
 public interface PushBuilder {
 
     /**
+     * Specify the HTTP method to use for the push request.
+     *
+     * @param method The method to use for the push request
+     *
+     * @return This builder instance
+     */
+    PushBuilder method(String method);
+
+    /**
      * Sets the URI path to be used for the push request. This must be called
      * before every call to {@link #push()}. If the path includes a query
      * string, the query string will be appended to the existing query string
@@ -63,6 +72,14 @@ public interface PushBuilder {
     void push();
 
     /**
+     * Obtain the name of the HTTP method that will be used for push requests
+     * generated by future calls to {@code push()}.
+     *
+     * @return The HTTP method to be used for future push requests
+     */
+    String getMethod();
+
+    /**
      * Adds a HTTP header to the request.
      *
      * @param name  The name of the header to add

Modified: tomcat/trunk/java/org/apache/catalina/core/ApplicationPushBuilder.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationPushBuilder.java?rev=1708785&r1=1708784&r2=1708785&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/ApplicationPushBuilder.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/core/ApplicationPushBuilder.java Thu 
Oct 15 10:51:55 2015
@@ -40,6 +40,7 @@ public class ApplicationPushBuilder impl
     private final HttpServletRequest baseRequest;
     private final org.apache.coyote.Request coyoteRequest;
 
+    private String method = "GET";
     private String path;
     private Map<String,List<String>> headers = new CaseInsensitiveKeyMap<>();
 
@@ -91,6 +92,19 @@ public class ApplicationPushBuilder impl
 
 
     @Override
+    public PushBuilder method(String method) {
+        this.method = method;
+        return this;
+    }
+
+
+    @Override
+    public String getMethod() {
+        return method;
+    }
+
+
+    @Override
     public PushBuilder addHeader(String name, String value) {
         List<String> values = headers.get(name);
         if (values == null) {
@@ -151,7 +165,7 @@ public class ApplicationPushBuilder impl
 
         org.apache.coyote.Request pushTarget = new org.apache.coyote.Request();
 
-        pushTarget.method().setString("GET");
+        pushTarget.method().setString(method);
         // The next three are implied by the Javadoc getPath()
         pushTarget.serverName().setString(baseRequest.getServerName());
         pushTarget.setServerPort(baseRequest.getServerPort());



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to