billbarker 2005/05/19 22:52:02 Modified: jk/java/org/apache/jk/common HandlerRequest.java JkInputStream.java jk/java/org/apache/jk/core MsgContext.java jk/java/org/apache/jk/server JkCoyoteHandler.java Log: Implement the BODY_REPLAY Action for Form auth. Revision Changes Path 1.46 +1 -1 jakarta-tomcat-connectors/jk/java/org/apache/jk/common/HandlerRequest.java Index: HandlerRequest.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/jk/java/org/apache/jk/common/HandlerRequest.java,v retrieving revision 1.45 retrieving revision 1.46 diff -u -r1.45 -r1.46 --- HandlerRequest.java 15 May 2005 19:14:38 -0000 1.45 +++ HandlerRequest.java 20 May 2005 05:52:02 -0000 1.46 @@ -329,7 +329,7 @@ static int count = 0; private Request checkRequest(MsgContext ep) { - Request req=(Request)ep.getRequest(); + Request req=ep.getRequest(); if( req==null ) { req=new Request(); Response res=new Response(); 1.18 +16 -0 jakarta-tomcat-connectors/jk/java/org/apache/jk/common/JkInputStream.java Index: JkInputStream.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/jk/java/org/apache/jk/common/JkInputStream.java,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- JkInputStream.java 15 May 2005 19:14:38 -0000 1.17 +++ JkInputStream.java 20 May 2005 05:52:02 -0000 1.18 @@ -49,6 +49,7 @@ private boolean end_of_stream=false; private boolean isEmpty = true; private boolean isFirst = true; + private boolean isReplay = false; static { // Make certain HttpMessages is loaded for SecurityManager @@ -72,6 +73,7 @@ end_of_stream = false; isEmpty = true; isFirst = true; + isReplay = false; bodyBuff.recycle(); tempMB.recycle(); } @@ -194,6 +196,9 @@ { // If the server returns an empty packet, assume that that end of // the stream has been reached (yuck -- fix protocol??). + if(isReplay) { + end_of_stream = true; // we've read everything there is + } if (end_of_stream) { if( log.isDebugEnabled() ) log.debug("refillReadBuffer: end of stream " ); @@ -271,4 +276,15 @@ mc.getSource().send( outputMsg, mc ); } + /** + * Set the replay buffer for Form auth + */ + public void setReplay(ByteChunk replay) { + isFirst = false; + isEmpty = false; + isReplay = true; + bodyBuff.setBytes(replay.getBytes(), replay.getStart(), replay.getLength()); + } + + } 1.12 +6 -1 jakarta-tomcat-connectors/jk/java/org/apache/jk/core/MsgContext.java Index: MsgContext.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/jk/java/org/apache/jk/core/MsgContext.java,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- MsgContext.java 15 May 2005 19:14:38 -0000 1.11 +++ MsgContext.java 20 May 2005 05:52:02 -0000 1.12 @@ -156,7 +156,7 @@ res.setHook(this); } - public final Object getRequest() { + public final Request getRequest() { return req; } @@ -348,6 +348,11 @@ } else if( actionCode==ActionCode.ACTION_ACK ) { if( log.isTraceEnabled() ) log.trace("ACK " ); + } else if ( actionCode == ActionCode.ACTION_REQ_SET_BODY_REPLAY ) { + if( log.isTraceEnabled() ) + log.trace("Replay "); + ByteChunk bc = (ByteChunk)param; + jkIS.setReplay(bc); } } 1.63 +3 -4 jakarta-tomcat-connectors/jk/java/org/apache/jk/server/JkCoyoteHandler.java Index: JkCoyoteHandler.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/jk/java/org/apache/jk/server/JkCoyoteHandler.java,v retrieving revision 1.62 retrieving revision 1.63 diff -u -r1.62 -r1.63 --- JkCoyoteHandler.java 15 May 2005 19:14:38 -0000 1.62 +++ JkCoyoteHandler.java 20 May 2005 05:52:02 -0000 1.63 @@ -181,13 +181,12 @@ // -------------------- Jk handler implementation -------------------- // Jk Handler mehod public int invoke( Msg msg, MsgContext ep ) - throws IOException - { + throws IOException { if( ep.isLogTimeEnabled() ) ep.setLong( MsgContext.TIMER_PRE_REQUEST, System.currentTimeMillis()); - org.apache.coyote.Request req=(org.apache.coyote.Request)ep.getRequest(); - org.apache.coyote.Response res=req.getResponse(); + Request req=ep.getRequest(); + Response res=req.getResponse(); if( log.isDebugEnabled() ) log.debug( "Invoke " + req + " " + res + " " + req.requestURI().toString());
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]