1 package org
.argeo
.cms
.jcr
.internal
.servlet
;
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 JcrHttpUtils
{
11 public final static String HEADER_AUTHORIZATION
= "Authorization";
12 public final static String HEADER_WWW_AUTHENTICATE
= "WWW-Authenticate";
14 public final static String DEFAULT_PROTECTED_HANDLERS
= "/org/argeo/cms/jcr/internal/servlet/protectedHandlers.xml";
15 public final static String WEBDAV_CONFIG
= "/org/argeo/cms/jcr/internal/servlet/webdav-config.xml";
17 static boolean isBrowser(String userAgent
) {
18 return userAgent
.contains("webkit") || userAgent
.contains("gecko") || userAgent
.contains("firefox")
19 || userAgent
.contains("msie") || userAgent
.contains("chrome") || userAgent
.contains("chromium")
20 || userAgent
.contains("opera") || userAgent
.contains("browser");
23 public static void logResponseHeaders(CmsLog log
, HttpServletResponse response
) {
24 if (!log
.isDebugEnabled())
26 for (String headerName
: response
.getHeaderNames()) {
27 Object headerValue
= response
.getHeader(headerName
);
28 log
.debug(headerName
+ ": " + headerValue
);
32 public static void logRequestHeaders(CmsLog log
, HttpServletRequest request
) {
33 if (!log
.isDebugEnabled())
35 for (Enumeration
<String
> headerNames
= request
.getHeaderNames(); headerNames
.hasMoreElements();) {
36 String headerName
= headerNames
.nextElement();
37 Object headerValue
= request
.getHeader(headerName
);
38 log
.debug(headerName
+ ": " + headerValue
);
40 log
.debug(request
.getRequestURI() + "\n");
43 public static void logRequest(CmsLog log
, HttpServletRequest request
) {
44 log
.debug("contextPath=" + request
.getContextPath());
45 log
.debug("servletPath=" + request
.getServletPath());
46 log
.debug("requestURI=" + request
.getRequestURI());
47 log
.debug("queryString=" + request
.getQueryString());
48 StringBuilder buf
= new StringBuilder();
50 Enumeration
<String
> en
= request
.getHeaderNames();
51 while (en
.hasMoreElements()) {
52 String header
= en
.nextElement();
53 Enumeration
<String
> values
= request
.getHeaders(header
);
54 while (values
.hasMoreElements())
55 buf
.append(" " + header
+ ": " + values
.nextElement());
60 Enumeration
<String
> an
= request
.getAttributeNames();
61 while (an
.hasMoreElements()) {
62 String attr
= an
.nextElement();
63 Object value
= request
.getAttribute(attr
);
64 buf
.append(" " + attr
+ ": " + value
);
67 log
.debug("\n" + buf
);
70 private JcrHttpUtils() {