You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by kk...@apache.org on 2010/11/17 11:41:03 UTC
svn commit: r1035973 -
/tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java
Author: kkolinko
Date: Wed Nov 17 10:41:03 2010
New Revision: 1035973
URL: http://svn.apache.org/viewvc?rev=1035973&view=rev
Log:
CoyoteAdapter.parsePathParameters:
- do not reevaluate start/end, because we already have them in local variables
- move warnedEncoding flag outside the loop, because otherwise it was always false and thus useless
Modified:
tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java
Modified: tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java?rev=1035973&r1=1035972&r2=1035973&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java Wed Nov 17 10:41:03 2010
@@ -669,10 +669,10 @@ public class CoyoteAdapter implements Ad
*/
protected void parsePathParameters(org.apache.coyote.Request req,
Request request) {
-
+
// Process in bytes (this is default format so this is normally a NO-OP
req.decodedURI().toBytes();
-
+
ByteChunk uriBC = req.decodedURI().getByteChunk();
int semicolon = uriBC.indexOf(';', 0);
@@ -691,6 +691,8 @@ public class CoyoteAdapter implements Ad
log.debug(sm.getString("coyoteAdapter.debug", "enc", enc));
}
+ boolean warnedEncoding = false;
+
while (semicolon > -1) {
// Parse path param, and extract it from the decoded request URI
int start = uriBC.getStart();
@@ -698,12 +700,11 @@ public class CoyoteAdapter implements Ad
int pathParamStart = semicolon + 1;
int pathParamEnd = ByteChunk.findBytes(uriBC.getBuffer(),
- uriBC.getStart() + pathParamStart, uriBC.getEnd(),
+ start + pathParamStart, end,
new byte[] {';', '/'});
-
+
String pv = null;
- boolean warnedEncoding = false;
-
+
if (pathParamEnd >= 0) {
try {
pv = (new String(uriBC.getBuffer(), start + pathParamStart,
@@ -736,7 +737,7 @@ public class CoyoteAdapter implements Ad
}
uriBC.setEnd(start + semicolon);
}
-
+
if (log.isDebugEnabled()) {
log.debug(sm.getString("coyoteAdapter.debug", "pathParamStart",
String.valueOf(pathParamStart)));
@@ -761,7 +762,7 @@ public class CoyoteAdapter implements Ad
}
}
}
-
+
semicolon = uriBC.indexOf(';', semicolon);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org