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]

Reply via email to