AHA!  That worked like gold.  Thanks for the info!  I didn't realize that
Tomcat's Response was a superclass of HttpServletResponse.  One thing I did
note though, is that one can't invoke the next valve in the chain after
sending a redirect (as far as I can tell).  I suppose this just means that a
valve  that behaves in such a manner must be the last one in the chain or
must break out of the chain midway by simply returning.  Again, thanks.

-----Original Message-----
From: Jeanfrancois Arcand [mailto:[EMAIL PROTECTED] 
Sent: Thursday, January 15, 2004 1:26 PM
To: Tomcat Users List
Subject: Re: org.apache.catalina.HttpRequest.setRequestURI() and valves




Green, Jeffrey wrote:

>Regarding the last post on this topic:
>
>1) sendRedirect() doesn't seem to work because ValveBase's invoke() 
>method takes an org.apache.catalina.Response object and that class has 
>no
>sendRedirect() method.  Am I missing something here?
>  
>
Yes :-) Downcast the object to 
((HttpServletResponse)response).sendRedirect(...)

>2) if I put the valve at the engine level, will it be invoked before 
>the Mapper, allowing me to call setRequestURI()?
>  
>
No.

>3) that looks as you say, to be no trivial task, so I'll avoid it.
>  
>
I really think sendRedirect is a way you should explore

>Thanks again for the responses.
>  
>
-- Jeanfrancois

>
>
>
>  
>
>>Aaah.  I see.  Unfortunately sendRedirect() does not work at the valve 
>>level.
>>
>>    
>>
>That's not true ;-) SunOne AppServ is using that technique :-) Why are 
>you saying it doesn't work at the valve level?
>
>  
>
>>I could use that solution only if I implemented the redirect for each 
>>specific webapp, but this is a bit too much code duplication to be 
>>productive / condusive to change.
>>
>>    
>>
>Why? It depends where you put the valve? Remember you can also place 
>your valve at the engine level.
>
>  
>
>>It seems that this decision has crippled
>>some of Tomcat's functionality - whereas before, I could redirect 
>>requests across a whole host, now I can only do that per webapp.
>>Was anything else implemented to achieve such functionality instead? 
>>
>>    
>>
>Yes, by using the mapper directly. But that's a lot of works (you need 
>to understand how the mapper works, etc.).  The main object to look at 
>is MappingData where the result of the mapping is stored.
>
>-- Jeanfrancois
>
>
>
>
>  
>
>>Thanks
>>again.
>>
>>-----Original Message-----
>>From: Jeanfrancois Arcand [mailto:[EMAIL PROTECTED]
>>Sent: Thursday, January 15, 2004 11:21 AM
>>To: Tomcat Users List
>>Subject: Re: org.apache.catalina.HttpRequest.setRequestURI() and valves
>>
>>
>>
>>
>>Green, Jeffrey wrote:
>>
>> 
>>
>>    
>>
>>>Hello all.  Using valves in Tomcat 4, we successfully managed to
>>>intercept requests to specific contexts and direct them elsewhere.  For 
>>>example, we could intercept all requests to /SECRETWEBAPP and redirect
>>>      
>>>
>them
>  
>
>>>   
>>>
>>>      
>>>
>>to /.
>> 
>>
>>    
>>
>>>In order to accomplish this, we used valves which would call
>>>setRequestURI("/") on all requests that were prefixed with
>>>"/SECRETWEBAPP". Unfortunately, this technique no longer seems to work 
>>>with Tomcat 5.  Does anyone know if anything changed regarding such 
>>>usage of this method or if there is a better way to do this?
>>>
>>>
>>>   
>>>
>>>      
>>>
>>Yes, the HTTP Mapper has been completely re-written. The mapping occurs
>>*before* entering the pipeline (valve) instead of *after* in Tomcat 4. 
>>You may want to try a re-direct instead. Something like:
>>
>>if ( bla bla)
>>               hresponse.sendRedirect(
>>                       hresponse.encodeRedirectURL("/"));
>>
>>
>>-- Jeanfrancois
>>
>>
>> 
>>
>>    
>>
>>>Thanks.
>>>
>>>----------------------------------------------------------------------
>>>-
>>>-------
>>>This message is intended only for the personal and confidential use of
the
>>>designated recipient(s) named above.  If you are not the intended
>>>      
>>>
>recipient
>  
>
>>>   
>>>
>>>      
>>>
>>of
>> 
>>
>>    
>>
>>>this message you are hereby notified that any review, dissemination, 
>>>distribution or copying of this message is strictly prohibited.  This 
>>>communication is for information purposes only and should not be 
>>>regarded
>>>   
>>>
>>>      
>>>
>>as
>> 
>>
>>    
>>
>>>an offer to sell or as a solicitation of an offer to buy any financial 
>>>product, an official confirmation of any transaction, or as an 
>>>official statement of Lehman Brothers.  Email transmission cannot be 
>>>guaranteed to
>>>   
>>>
>>>      
>>>
>>be
>> 
>>
>>    
>>
>>>secure or error-free.  Therefore, we do not represent that this 
>>>information
>>>   
>>>
>>>      
>>>
>>is
>> 
>>
>>    
>>
>>>complete or accurate and it should not be relied upon as such.  All 
>>>information is subject to change without notice.
>>>
>>>
>>>---------------------------------------------------------------------
>>>To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>For additional commands, e-mail: [EMAIL PROTECTED]
>>>
>>>
>>>
>>>
>>>   
>>>
>>>      
>>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: [EMAIL PROTECTED]
>>For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>>
>>-----------------------------------------------------------------------
>>-------
>>This message is intended only for the personal and confidential use of the
>>designated recipient(s) named above.  If you are not the intended
recipient
>>    
>>
>of
>  
>
>>this message you are hereby notified that any review, dissemination,
>>distribution or copying of this message is strictly prohibited.  This
>>communication is for information purposes only and should not be regarded
>>    
>>
>as
>  
>
>>an offer to sell or as a solicitation of an offer to buy any financial
>>product, an official confirmation of any transaction, or as an official
>>statement of Lehman Brothers.  Email transmission cannot be guaranteed to
>>    
>>
>be
>  
>
>>secure or error-free.  Therefore, we do not represent that this
information
>>    
>>
>is
>  
>
>>complete or accurate and it should not be relied upon as such.  All
>>information is subject to change without notice.
>>
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: [EMAIL PROTECTED]
>>For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>> 
>>
>>    
>>
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: [EMAIL PROTECTED]
>For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>
>---------------------------------------------------------------------------
---
>This message is intended only for the personal and confidential use of the
>designated recipient(s) named above.  If you are not the intended recipient
of
>this message you are hereby notified that any review, dissemination,
>distribution or copying of this message is strictly prohibited.  This
>communication is for information purposes only and should not be regarded
as
>an offer to sell or as a solicitation of an offer to buy any financial
>product, an official confirmation of any transaction, or as an official
>statement of Lehman Brothers.  Email transmission cannot be guaranteed to
be
>secure or error-free.  Therefore, we do not represent that this information
is
>complete or accurate and it should not be relied upon as such.  All
>information is subject to change without notice.
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: [EMAIL PROTECTED]
>For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>  
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



------------------------------------------------------------------------------
This message is intended only for the personal and confidential use of the
designated recipient(s) named above.  If you are not the intended recipient of
this message you are hereby notified that any review, dissemination,
distribution or copying of this message is strictly prohibited.  This
communication is for information purposes only and should not be regarded as
an offer to sell or as a solicitation of an offer to buy any financial
product, an official confirmation of any transaction, or as an official
statement of Lehman Brothers.  Email transmission cannot be guaranteed to be
secure or error-free.  Therefore, we do not represent that this information is
complete or accurate and it should not be relied upon as such.  All
information is subject to change without notice.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to