| HttpServletRequestValve.java |
/*
* JBoss, the OpenSource WebOS
*
* Distributable under LGPL license.
* See terms of license at gnu.org.
*/
package org.jboss.web.tomcat.security;
import java.io.IOException;
import javax.servlet.ServletException;
import org.apache.catalina.connector.Request;
import org.apache.catalina.connector.Response;
import org.apache.catalina.valves.ValveBase;
/**
* A Tomcat Valve that obtains the client's HttpServletRequest and saves it in a
* ThreadLocal variable. It allows the WebCallbackHandler to populate the
* HttpServletRequestCallback.
*
* @author Ricardo Arguello (ricardoarguello@users.sourceforge.net)
* @version $Revision: 1.1.2.1 $
*/
public class HttpServletRequestValve extends ValveBase
{
/** ThreadLocal to save the HttpServletRequest. */
public static ThreadLocal httpRequest = new ThreadLocal();
/**
* Default constructor.
*/
public HttpServletRequestValve()
{
}
/**
* @see org.apache.catalina.Valve#invoke(org.apache.catalina.connector.Request,
* org.apache.catalina.connector.Response)
*/
public void invoke(Request request, Response response) throws IOException,
ServletException
{
try
{
// Set the ThreadLocal
httpRequest.set(request.getRequest());
// Perform the request
getNext().invoke(request, response);
}
finally
{
// Unset the ThreadLocal
httpRequest.set(null);
}
}
}| HttpServletRequestValve.java |