remm 2005/06/23 10:22:13
Modified: jk/java/org/apache/coyote/ajp AjpAprProcessor.java
AjpMessage.java
Log:
- Beautify a little.
Revision Changes Path
1.9 +28 -32
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.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- AjpAprProcessor.java 23 Jun 2005 16:35:26 -0000 1.8
+++ AjpAprProcessor.java 23 Jun 2005 17:22:13 -0000 1.9
@@ -52,6 +52,12 @@
* Processes HTTP requests.
*
* @author Remy Maucherat
+ * @author Henri Gomez
+ * @author Dan Milstein
+ * @author Keith Wannamaker
+ * @author Kevin Seguin
+ * @author Costin Manolache
+ * @author Bill Barker
*/
public class AjpAprProcessor implements ActionHook {
@@ -412,6 +418,7 @@
return request;
}
+
/**
* Process pipelined HTTP requests using the specified input and output
* streams.
@@ -465,7 +472,6 @@
// Check message type, process right away and break if
// not regular request processing
int type = requestHeaderMessage.getByte();
- // FIXME: Any other types which should be checked ?
if (type == Constants.JK_AJP13_CPING_REQUEST) {
if (Socket.sendb(socket, pongMessageBuffer, 0,
pongMessageBuffer.position()) < 0) {
@@ -586,7 +592,7 @@
if ((response.isCommitted()) || !expectation)
return;
- // FIXME: No way to reply to an expectation in AJP ?
+ // No expectations in AJP
} else if (actionCode == ActionCode.ACTION_CLIENT_FLUSH) {
@@ -751,14 +757,9 @@
}
request.setLocalPort(localPort);
- } else if (actionCode == ActionCode.ACTION_REQ_SSL_CERTIFICATE) {
-
- // FIXME: Nothing needed here ?
-
} else if (actionCode == ActionCode.ACTION_REQ_SET_BODY_REPLAY) {
- if( log.isTraceEnabled() )
- log.trace("Replay ");
+ // Set the given bytes as the content
ByteChunk bc = (ByteChunk) param;
bodyBytes.setBytes(bc.getBytes(), bc.getStart(), bc.getLength());
first = false;
@@ -819,7 +820,6 @@
boolean isSSL = requestHeaderMessage.getByte() != 0;
if (isSSL) {
- // XXX req.setSecure( true );
request.scheme().setString("https");
}
@@ -880,13 +880,10 @@
if (attributeCode == Constants.SC_A_ARE_DONE)
break;
- /* Special case ( XXX in future API make it separate type !)
- */
if (attributeCode == Constants.SC_A_SSL_KEY_SIZE) {
// Bug 1326: it's an Integer.
request.setAttribute(SSLSupport.KEY_SIZE_KEY,
new Integer(requestHeaderMessage.getInt()));
- //Integer.toString(msg.getInt()));
}
if (attributeCode == Constants.SC_A_REQ_ATTRIBUTE ) {
@@ -944,21 +941,21 @@
requestHeaderMessage.getBytes(certificates);
break;
- case Constants.SC_A_SSL_CIPHER :
- request.scheme().setString( "https" );
+ case Constants.SC_A_SSL_CIPHER :
+ request.scheme().setString("https");
requestHeaderMessage.getBytes(tmpMB);
request.setAttribute(SSLSupport.CIPHER_SUITE_KEY,
tmpMB.toString());
break;
- case Constants.SC_A_SSL_SESSION :
- request.scheme().setString( "https" );
+ case Constants.SC_A_SSL_SESSION :
+ request.scheme().setString("https");
requestHeaderMessage.getBytes(tmpMB);
request.setAttribute(SSLSupport.SESSION_ID_KEY,
tmpMB.toString());
break;
- case Constants.SC_A_SECRET :
+ case Constants.SC_A_SECRET :
requestHeaderMessage.getBytes(tmpMB);
String secret = tmpMB.toString();
if(log.isInfoEnabled())
@@ -1097,8 +1094,9 @@
responseHeaderMessage.reset();
responseHeaderMessage.appendByte(Constants.JK_AJP13_SEND_HEADERS);
- responseHeaderMessage.appendInt(response.getStatus());
+ // HTTP header contents
+ responseHeaderMessage.appendInt(response.getStatus());
String message = response.getMessage();
if (message == null){
message= HttpMessages.getMessage(response.getStatus());
@@ -1108,8 +1106,7 @@
tmpMB.setString(message);
responseHeaderMessage.appendBytes(tmpMB);
- // XXX add headers
-
+ // Special headers
MimeHeaders headers = response.getMimeHeaders();
String contentType = response.getContentType();
if (contentType != null) {
@@ -1123,6 +1120,8 @@
if (contentLength >= 0) {
headers.setValue("Content-Length").setInt(contentLength);
}
+
+ // Other headers
int numHeaders = headers.size();
responseHeaderMessage.appendInt(numHeaders);
for (int i = 0; i < numHeaders; i++) {
@@ -1131,6 +1130,8 @@
MessageBytes hV=headers.getValue(i);
responseHeaderMessage.appendBytes(hV);
}
+
+ // Write to buffer
responseHeaderMessage.end();
outputBuffer.put(responseHeaderMessage.getBuffer(), 0,
responseHeaderMessage.getLen());
@@ -1157,11 +1158,14 @@
return;
finished = true;
+
+ // Add the end message
if (outputBuffer.position() + endMessageArray.length >
outputBuffer.capacity()) {
flush();
}
outputBuffer.put(endMessageArray);
flush();
+
}
@@ -1235,30 +1239,23 @@
* after we send a GET_BODY packet
*/
public boolean receive() throws IOException {
+
first = false;
bodyMessage.reset();
readMessage(bodyMessage, false, false);
- if( log.isDebugEnabled() )
- log.info( "Receiving: getting request body chunk " +
bodyMessage.getLen() );
// No data received.
- if( bodyMessage.getLen() == 0 ) { // just the header
+ if (bodyMessage.getLen() == 0) {
+ // just the header
// Don't mark 'end of stream' for the first chunk.
- // end_of_stream = true;
return false;
}
int blen = bodyMessage.peekInt();
- if( blen == 0 ) {
+ if (blen == 0) {
return false;
}
- if( log.isTraceEnabled() ) {
- bodyMessage.dump("Body buffer");
- }
-
bodyMessage.getBytes(bodyBytes);
- if( log.isTraceEnabled() )
- log.trace( "Data:\n" + bodyBytes);
empty = false;
return true;
}
@@ -1400,7 +1397,6 @@
}
-
}
1.2 +3 -7
jakarta-tomcat-connectors/jk/java/org/apache/coyote/ajp/AjpMessage.java
Index: AjpMessage.java
===================================================================
RCS file:
/home/cvs/jakarta-tomcat-connectors/jk/java/org/apache/coyote/ajp/AjpMessage.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- AjpMessage.java 9 Jun 2005 16:14:51 -0000 1.1
+++ AjpMessage.java 23 Jun 2005 17:22:13 -0000 1.2
@@ -29,11 +29,9 @@
* Can be used (somewhat confusingly) for both incoming and outgoing
* packets.
*
- * See Ajp14/Ajp13Packet.java.
- *
- * @author Henri Gomez [EMAIL PROTECTED]
- * @author Dan Milstein [EMAIL PROTECTED]
- * @author Keith Wannamaker [EMAIL PROTECTED]
+ * @author Henri Gomez
+ * @author Dan Milstein
+ * @author Keith Wannamaker
* @author Kevin Seguin
* @author Costin Manolache
*/
@@ -53,8 +51,6 @@
*/
private int len;
-
-
/**
* Prepare this packet for accumulating a message from the container to
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]