View Javadoc
1   package org.argeo.cms.internal.http;
2   
3   import java.util.Enumeration;
4   
5   import javax.servlet.http.HttpServletRequest;
6   
7   import org.apache.commons.logging.Log;
8   
9   public class HttpUtils {
10  	public final static String HEADER_AUTHORIZATION = "Authorization";
11  	public final static String HEADER_WWW_AUTHENTICATE = "WWW-Authenticate";
12  
13  	public final static String DEFAULT_PROTECTED_HANDLERS = "/org/argeo/cms/internal/http/protectedHandlers.xml";
14  	public final static String WEBDAV_CONFIG = "/org/argeo/cms/internal/http/webdav-config.xml";
15  
16  	static boolean isBrowser(String userAgent) {
17  		return userAgent.contains("webkit") || userAgent.contains("gecko") || userAgent.contains("firefox")
18  				|| userAgent.contains("msie") || userAgent.contains("chrome") || userAgent.contains("chromium")
19  				|| userAgent.contains("opera") || userAgent.contains("browser");
20  	}
21  
22  	public static void logRequestHeaders(Log log, HttpServletRequest request) {
23  		if (!log.isDebugEnabled())
24  			return;
25  		for (Enumeration<String> headerNames = request.getHeaderNames(); headerNames.hasMoreElements();) {
26  			String headerName = headerNames.nextElement();
27  			Object headerValue = request.getHeader(headerName);
28  			log.debug(headerName + ": " + headerValue);
29  		}
30  		log.debug(request.getRequestURI() + "\n");
31  	}
32  
33  	public static void logRequest(Log log,HttpServletRequest request) {
34  		log.debug("contextPath=" + request.getContextPath());
35  		log.debug("servletPath=" + request.getServletPath());
36  		log.debug("requestURI=" + request.getRequestURI());
37  		log.debug("queryString=" + request.getQueryString());
38  		StringBuilder buf = new StringBuilder();
39  		// headers
40  		Enumeration<String> en = request.getHeaderNames();
41  		while (en.hasMoreElements()) {
42  			String header = en.nextElement();
43  			Enumeration<String> values = request.getHeaders(header);
44  			while (values.hasMoreElements())
45  				buf.append("  " + header + ": " + values.nextElement());
46  			buf.append('\n');
47  		}
48  
49  		// attributed
50  		Enumeration<String> an = request.getAttributeNames();
51  		while (an.hasMoreElements()) {
52  			String attr = an.nextElement();
53  			Object value = request.getAttribute(attr);
54  			buf.append("  " + attr + ": " + value);
55  			buf.append('\n');
56  		}
57  		log.debug("\n" + buf);
58  	}
59  
60  
61  	private HttpUtils() {
62  
63  	}
64  }