package org.jboss.resteasy.springmvc;
import org.jboss.resteasy.spi.HttpRequest;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
/**
* @author <a href="mailto:sduskis@gmail.com">Solomon Duskis</a>
* @version $Revision: 1 $
*/
public class RequestUtil
{
private static String RESPONSE_WRAPPER_KEY = RequestUtil.class.getName() + ".RESPONSE_WRAPPER";
public static HttpServletRequest getRequest()
{
return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
}
public static ResteasyRequestWrapper getRequestWrapper(HttpServletRequest request) throws ServletException,
IOException
{
ResteasyRequestWrapper wrapper = (ResteasyRequestWrapper) request.getAttribute(RESPONSE_WRAPPER_KEY);
if (wrapper == null)
{
request.setAttribute(RESPONSE_WRAPPER_KEY, wrapper = new ResteasyRequestWrapper(request));
}
return wrapper;
}
public static HttpRequest getHttpRequest(HttpServletRequest request) throws ServletException, IOException
{
return getRequestWrapper(request).getHttpRequest();
}
public static ResteasyRequestWrapper getRequestWrapper(HttpServletRequest request, String method, String prefix)
throws ServletException, IOException
{
ResteasyRequestWrapper wrapper = (ResteasyRequestWrapper) request.getAttribute(RESPONSE_WRAPPER_KEY);
if (wrapper == null)
{
request.setAttribute(RESPONSE_WRAPPER_KEY, wrapper = new ResteasyRequestWrapper(request, method, prefix));
}
return wrapper;
}
}