You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2014/06/13 13:31:50 UTC
svn commit: r1602383 - in /tomcat/tc7.0.x/trunk: ./
java/org/apache/coyote/http11/AbstractHttp11Processor.java
Author: markt
Date: Fri Jun 13 11:31:50 2014
New Revision: 1602383
URL: http://svn.apache.org/r1602383
Log:
Reduce duplicate by moving error handling into addInputFilter.
Also makes error handling consistent.
Modified:
tomcat/tc7.0.x/trunk/ (props changed)
tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java
Propchange: tomcat/tc7.0.x/trunk/
------------------------------------------------------------------------------
Merged /tomcat/trunk:r1599738
Modified: tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java?rev=1602383&r1=1602382&r2=1602383&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java (original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java Fri Jun 13 11:31:50 2014
@@ -708,12 +708,10 @@ public abstract class AbstractHttp11Proc
/**
- * Add an input filter to the current request.
- *
- * @return false if the encoding was not found (which would mean it is
- * unsupported)
+ * Add an input filter to the current request. If the encoding is not
+ * supported, a 501 response will be returned to the client.
*/
- protected boolean addInputFilter(InputFilter[] inputFilters,
+ protected void addInputFilter(InputFilter[] inputFilters,
String encodingName) {
if (encodingName.equals("identity")) {
// Skip
@@ -723,15 +721,20 @@ public abstract class AbstractHttp11Proc
contentDelimitation = true;
} else {
for (int i = pluggableFilterIndex; i < inputFilters.length; i++) {
- if (inputFilters[i].getEncodingName()
- .toString().equals(encodingName)) {
+ if (inputFilters[i].getEncodingName().toString().equals(encodingName)) {
getInputBuffer().addActiveFilter(inputFilters[i]);
- return true;
+ return;
}
}
- return false;
+ // Unsupported transfer encoding
+ // 501 - Unimplemented
+ response.setStatus(501);
+ error = true;
+ if (getLog().isDebugEnabled()) {
+ getLog().debug(sm.getString("http11processor.request.prepare") +
+ " Unsupported transfer encoding [" + encodingName + "]");
+ }
}
- return true;
}
@@ -1309,29 +1312,15 @@ public abstract class AbstractHttp11Proc
int commaPos = transferEncodingValue.indexOf(',');
String encodingName = null;
while (commaPos != -1) {
- encodingName = transferEncodingValue.substring
- (startPos, commaPos).toLowerCase(Locale.ENGLISH).trim();
- if (!addInputFilter(inputFilters, encodingName)) {
- // Unsupported transfer encoding
- error = true;
- // 501 - Unimplemented
- response.setStatus(501);
- }
+ encodingName = transferEncodingValue.substring(
+ startPos, commaPos).toLowerCase(Locale.ENGLISH).trim();
+ addInputFilter(inputFilters, encodingName);
startPos = commaPos + 1;
commaPos = transferEncodingValue.indexOf(',', startPos);
}
- encodingName = transferEncodingValue.substring(startPos)
- .toLowerCase(Locale.ENGLISH).trim();
- if (!addInputFilter(inputFilters, encodingName)) {
- // Unsupported transfer encoding
- error = true;
- // 501 - Unimplemented
- if (getLog().isDebugEnabled()) {
- getLog().debug(sm.getString("http11processor.request.prepare")+
- " Unsupported transfer encoding \""+encodingName+"\"");
- }
- response.setStatus(501);
- }
+ encodingName = transferEncodingValue.substring(
+ startPos).toLowerCase(Locale.ENGLISH).trim();
+ addInputFilter(inputFilters, encodingName);
}
// Parse content-length header
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org