added @RequestHeader support

This commit is contained in:
Juergen Hoeller
2008-12-05 07:17:31 +00:00
parent b3866a974a
commit 0ed916495c
9 changed files with 281 additions and 80 deletions

View File

@@ -51,6 +51,14 @@ public class FacesWebRequest extends FacesRequestAttributes implements NativeWeb
}
public String getHeader(String headerName) {
return getExternalContext().getRequestHeaderMap().get(headerName);
}
public String[] getHeaderValues(String headerName) {
return getExternalContext().getRequestHeaderValuesMap().get(headerName);
}
public String getParameter(String paramName) {
return getExternalContext().getRequestParameterMap().get(paramName);
}

View File

@@ -23,6 +23,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
/**
@@ -78,6 +79,16 @@ public class ServletWebRequest extends ServletRequestAttributes implements Nativ
}
public String getHeader(String headerName) {
return getRequest().getHeader(headerName);
}
@SuppressWarnings("unchecked")
public String[] getHeaderValues(String headerName) {
String[] headerValues = StringUtils.toStringArray(getRequest().getHeaders(headerName));
return (!ObjectUtils.isEmpty(headerValues) ? headerValues : null);
}
public String getParameter(String paramName) {
return getRequest().getParameter(paramName);
}

View File

@@ -31,6 +31,21 @@ import java.util.Map;
*/
public interface WebRequest extends RequestAttributes {
/**
* Return the request header of the given name, or <code>null</code> if none.
* <p>Retrieves the first header value in case of a multi-value header.
* @see javax.servlet.http.HttpServletRequest#getHeader(String)
*/
String getHeader(String headerName);
/**
* Return the request header values for the given header name,
* or <code>null</code> if none.
* <p>A single-value header will be exposed as an array with a single element.
* @see javax.servlet.http.HttpServletRequest#getHeaders(String)
*/
String[] getHeaderValues(String headerName);
/**
* Return the request parameter of the given name, or <code>null</code> if none.
* <p>Retrieves the first parameter value in case of a multi-value parameter.