Author: markt Date: Thu May 4 18:29:49 2017 New Revision: 1793844 URL: http://svn.apache.org/viewvc?rev=1793844&view=rev Log: Review of Parameters and query string encoding Clean-up / clarification No functional change
Modified: tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java tomcat/trunk/java/org/apache/catalina/connector/Request.java tomcat/trunk/java/org/apache/catalina/core/ApplicationHttpRequest.java Modified: tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java?rev=1793844&r1=1793843&r2=1793844&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java (original) +++ tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java Thu May 4 18:29:49 2017 @@ -590,8 +590,6 @@ public class FormAuthenticator } request.getCoyoteRequest().getParameters().recycle(); - request.getCoyoteRequest().getParameters().setQueryStringEncoding( - request.getConnector().getURIEncoding()); ByteChunk body = saved.getBody(); 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=1793844&r1=1793843&r2=1793844&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java (original) +++ tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java Thu May 4 18:29:49 2017 @@ -447,8 +447,7 @@ public class CoyoteAdapter implements Ad res.setNote(ADAPTER_NOTES, response); // Set query string encoding - req.getParameters().setQueryStringEncoding - (connector.getURIEncoding()); + req.getParameters().setQueryStringEncoding(connector.getURIEncoding()); } try { 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=1793844&r1=1793843&r2=1793844&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/connector/Request.java (original) +++ tomcat/trunk/java/org/apache/catalina/connector/Request.java Thu May 4 18:29:49 2017 @@ -3134,13 +3134,14 @@ public class Request implements HttpServ parameters.setQueryStringEncoding(enc); } } else { - parameters.setEncoding - (org.apache.coyote.Constants.DEFAULT_CHARACTER_ENCODING); + parameters.setEncoding(org.apache.coyote.Constants.DEFAULT_CHARACTER_ENCODING); if (useBodyEncodingForURI) { - parameters.setQueryStringEncoding - (org.apache.coyote.Constants.DEFAULT_CHARACTER_ENCODING); + parameters.setQueryStringEncoding( + org.apache.coyote.Constants.DEFAULT_CHARACTER_ENCODING); } } + // Note: If !useBodyEncodingForURI, the query string encoding is + // that set towards the start of CoyoyeAdapter.service() parameters.handleQueryParameters(); Modified: tomcat/trunk/java/org/apache/catalina/core/ApplicationHttpRequest.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationHttpRequest.java?rev=1793844&r1=1793843&r2=1793844&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/core/ApplicationHttpRequest.java (original) +++ tomcat/trunk/java/org/apache/catalina/core/ApplicationHttpRequest.java Thu May 4 18:29:49 2017 @@ -871,6 +871,12 @@ class ApplicationHttpRequest extends Htt MessageBytes queryMB = MessageBytes.newInstance(); queryMB.setString(queryParamString); + // TODO + // - Should only use body encoding if useBodyEncodingForURI is true + // - Otherwise, should use URIEncoding + // - The problem is that the connector is not available... + // - To add to the fun, the URI default changed in Servlet 4.0 to UTF-8 + String encoding = getCharacterEncoding(); // No need to process null value, as ISO-8859-1 is the default encoding // in MessageBytes.toBytes(). @@ -878,7 +884,8 @@ class ApplicationHttpRequest extends Htt try { queryMB.setCharset(B2CConverter.getCharset(encoding)); } catch (UnsupportedEncodingException ignored) { - // Fall-back to ISO-8859-1 + // Fall-back to default (ISO-8859-1) + encoding = null; } } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org