Author: markt
Date: Thu Oct 15 19:14:43 2015
New Revision: 1708869

URL: http://svn.apache.org/viewvc?rev=1708869&view=rev
Log:
Move the path parameters to the Coyote request so it is easier for HTTP/2 push 
requests to inject them.

Modified:
    tomcat/trunk/java/org/apache/catalina/connector/Request.java
    tomcat/trunk/java/org/apache/coyote/Request.java

Modified: tomcat/trunk/java/org/apache/catalina/connector/Request.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/Request.java?rev=1708869&r1=1708868&r2=1708869&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/connector/Request.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/Request.java Thu Oct 15 
19:14:43 2015
@@ -407,20 +407,14 @@ public class Request implements HttpServ
     protected Boolean asyncSupported = null;
 
 
-    /**
-     * Path parameters
-     */
-    protected final Map<String,String> pathParameters = new HashMap<>();
-
     // --------------------------------------------------------- Public Methods
 
-
     protected void addPathParameter(String name, String value) {
-        pathParameters.put(name, value);
+        coyoteRequest.addPathParameter(name, value);
     }
 
     protected String getPathParameter(String name) {
-        return pathParameters.get(name);
+        return coyoteRequest.getPathParameter(name);
     }
 
     public void setAsyncSupported(boolean asyncSupported) {
@@ -513,8 +507,6 @@ public class Request implements HttpServ
             asyncContext.recycle();
         }
         asyncContext = null;
-
-        pathParameters.clear();
     }
 
 

Modified: tomcat/trunk/java/org/apache/coyote/Request.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/Request.java?rev=1708869&r1=1708868&r2=1708869&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/Request.java (original)
+++ tomcat/trunk/java/org/apache/coyote/Request.java Thu Oct 15 19:14:43 2015
@@ -18,6 +18,7 @@ package org.apache.coyote;
 
 import java.io.IOException;
 import java.util.HashMap;
+import java.util.Map;
 import java.util.concurrent.atomic.AtomicBoolean;
 
 import javax.servlet.ReadListener;
@@ -97,6 +98,12 @@ public final class Request {
 
     private final MimeHeaders headers = new MimeHeaders();
 
+
+    /**
+     * Path parameters
+     */
+    private final Map<String,String> pathParameters = new HashMap<>();
+
     /**
      * Notes.
      */
@@ -399,6 +406,15 @@ public final class Request {
     }
 
 
+    public void addPathParameter(String name, String value) {
+        pathParameters.put(name, value);
+    }
+
+    public String getPathParameter(String name) {
+        return pathParameters.get(name);
+    }
+
+
     // -------------------- Other attributes --------------------
     // We can use notes for most - need to discuss what is of general interest
 
@@ -551,6 +567,7 @@ public final class Request {
 
         serverCookies.recycle();
         parameters.recycle();
+        pathParameters.clear();
 
         uriMB.recycle();
         decodedUriMB.recycle();



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

Reply via email to