1 package org
.argeo
.cms
.servlet
.internal
;
3 import java
.util
.Enumeration
;
5 import javax
.servlet
.http
.HttpServletRequest
;
6 import javax
.servlet
.http
.HttpServletResponse
;
8 import org
.argeo
.api
.cms
.CmsLog
;
10 public class HttpUtils
{
11 public final static String HEADER_AUTHORIZATION
= "Authorization";
12 public final static String HEADER_WWW_AUTHENTICATE
= "WWW-Authenticate";
14 static boolean isBrowser(String userAgent
) {
15 return userAgent
.contains("webkit") || userAgent
.contains("gecko") || userAgent
.contains("firefox")
16 || userAgent
.contains("msie") || userAgent
.contains("chrome") || userAgent
.contains("chromium")
17 || userAgent
.contains("opera") || userAgent
.contains("browser");
20 public static void logResponseHeaders(CmsLog log
, HttpServletResponse response
) {
21 if (!log
.isDebugEnabled())
23 for (String headerName
: response
.getHeaderNames()) {
24 Object headerValue
= response
.getHeader(headerName
);
25 log
.debug(headerName
+ ": " + headerValue
);
29 public static void logRequestHeaders(CmsLog log
, HttpServletRequest request
) {
30 if (!log
.isDebugEnabled())
32 for (Enumeration
<String
> headerNames
= request
.getHeaderNames(); headerNames
.hasMoreElements();) {
33 String headerName
= headerNames
.nextElement();
34 Object headerValue
= request
.getHeader(headerName
);
35 log
.debug(headerName
+ ": " + headerValue
);
37 log
.debug(request
.getRequestURI() + "\n");
40 public static void logRequest(CmsLog log
, HttpServletRequest request
) {
41 log
.debug("contextPath=" + request
.getContextPath());
42 log
.debug("servletPath=" + request
.getServletPath());
43 log
.debug("requestURI=" + request
.getRequestURI());
44 log
.debug("queryString=" + request
.getQueryString());
45 StringBuilder buf
= new StringBuilder();
47 Enumeration
<String
> en
= request
.getHeaderNames();
48 while (en
.hasMoreElements()) {
49 String header
= en
.nextElement();
50 Enumeration
<String
> values
= request
.getHeaders(header
);
51 while (values
.hasMoreElements())
52 buf
.append(" " + header
+ ": " + values
.nextElement());
57 Enumeration
<String
> an
= request
.getAttributeNames();
58 while (an
.hasMoreElements()) {
59 String attr
= an
.nextElement();
60 Object value
= request
.getAttribute(attr
);
61 buf
.append(" " + attr
+ ": " + value
);
64 log
.debug("\n" + buf
);