]> git.argeo.org Git - lgpl/argeo-commons.git/blob - HttpUtils.java
70f2cc6b0390052693baff68f98641661b368f15
[lgpl/argeo-commons.git] / HttpUtils.java
1 package org.argeo.cms.servlet.internal;
2
3 import java.util.Enumeration;
4
5 import javax.servlet.http.HttpServletRequest;
6 import javax.servlet.http.HttpServletResponse;
7
8 import org.argeo.api.cms.CmsLog;
9
10 public class HttpUtils {
11 public final static String HEADER_AUTHORIZATION = "Authorization";
12 public final static String HEADER_WWW_AUTHENTICATE = "WWW-Authenticate";
13
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");
18 }
19
20 public static void logResponseHeaders(CmsLog log, HttpServletResponse response) {
21 if (!log.isDebugEnabled())
22 return;
23 for (String headerName : response.getHeaderNames()) {
24 Object headerValue = response.getHeader(headerName);
25 log.debug(headerName + ": " + headerValue);
26 }
27 }
28
29 public static void logRequestHeaders(CmsLog log, HttpServletRequest request) {
30 if (!log.isDebugEnabled())
31 return;
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);
36 }
37 log.debug(request.getRequestURI() + "\n");
38 }
39
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();
46 // headers
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());
53 buf.append('\n');
54 }
55
56 // attributed
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);
62 buf.append('\n');
63 }
64 log.debug("\n" + buf);
65 }
66
67 private HttpUtils() {
68
69 }
70 }