remm 2005/07/28 06:48:47
Modified: jk/java/org/apache/coyote/ajp AjpAprProcessor.java
Log:
- Cleanup attribute parsing code (shouild be equivalent).
Revision Changes Path
1.13 +22 -27
jakarta-tomcat-connectors/jk/java/org/apache/coyote/ajp/AjpAprProcessor.java
Index: AjpAprProcessor.java
===================================================================
RCS file:
/home/cvs/jakarta-tomcat-connectors/jk/java/org/apache/coyote/ajp/AjpAprProcessor.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- AjpAprProcessor.java 28 Jul 2005 12:17:02 -0000 1.12
+++ AjpAprProcessor.java 28 Jul 2005 13:48:47 -0000 1.13
@@ -826,21 +826,13 @@
}
// Decode extra attributes
- boolean moreAttr = true;
+ byte attributeCode;
+ while ((attributeCode = requestHeaderMessage.getByte())
+ != Constants.SC_A_ARE_DONE) {
- while (moreAttr) {
- byte attributeCode = requestHeaderMessage.getByte();
- if (attributeCode == Constants.SC_A_ARE_DONE)
- break;
-
- if (attributeCode == Constants.SC_A_SSL_KEY_SIZE) {
- // Bug 1326: it's an Integer.
- request.setAttribute(SSLSupport.KEY_SIZE_KEY,
- new Integer(requestHeaderMessage.getInt()));
- }
-
- if (attributeCode == Constants.SC_A_REQ_ATTRIBUTE ) {
- // 2 strings ???...
+ switch (attributeCode) {
+
+ case Constants.SC_A_REQ_ATTRIBUTE :
requestHeaderMessage.getBytes(tmpMB);
String n = tmpMB.toString();
requestHeaderMessage.getBytes(tmpMB);
@@ -848,10 +840,8 @@
request.setAttribute(n, v);
if (log.isTraceEnabled())
log.trace("jk Attribute set " + n + "=" + v);
- }
-
- // 1 string attributes
- switch (attributeCode) {
+ break;
+
case Constants.SC_A_CONTEXT :
requestHeaderMessage.getBytes(tmpMB);
// nothing
@@ -890,7 +880,7 @@
case Constants.SC_A_SSL_CERT :
request.scheme().setString("https");
- // SSL certificate extraction is costy, moved to
JkCoyoteHandler
+ // SSL certificate extraction is lazy, moved to
JkCoyoteHandler
requestHeaderMessage.getBytes(certificates);
break;
@@ -908,21 +898,26 @@
tmpMB.toString());
break;
+ case Constants.SC_A_SSL_KEY_SIZE :
+ request.setAttribute(SSLSupport.KEY_SIZE_KEY,
+ new Integer(requestHeaderMessage.getInt()));
+ break;
+
+ // FIXME: no usage for secret attribute here
+ /*
case Constants.SC_A_SECRET :
requestHeaderMessage.getBytes(tmpMB);
- String secret = tmpMB.toString();
- if(log.isInfoEnabled())
- log.info("Secret: " + secret);
- // FIXME: endpoint note - what's that ?
- // endpoint.setNote(secretNote, secret);
break;
+ */
case Constants.SC_A_STORED_METHOD:
requestHeaderMessage.getBytes(request.method());
break;
default:
- break; // ignore, we don't know about it - backward compat
+ // Ignore unknown attribute for backward compatibility
+ break;
+
}
}
@@ -1390,8 +1385,8 @@
thisTime = chunkSize;
}
len -= thisTime;
- if (outputBuffer.position() + thisTime
- + bodyMessage.getHeaderLength() + 4 >
outputBuffer.capacity()) {
+ if (outputBuffer.position() + thisTime + 4 + 4 >
+ outputBuffer.capacity()) {
flush();
}
outputBuffer.put((byte) 0x41);
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]