From 4973b940cc8ce0885653ed7c0223cbedd3dde3bc Mon Sep 17 00:00:00 2001 From: Andreas Fitzek Date: Mon, 23 Feb 2015 11:27:59 +0100 Subject: added Statistics Facilities to PDF-AS Web --- .../gv/egiz/pdfas/web/filter/UserAgentFilter.java | 59 ++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/filter/UserAgentFilter.java (limited to 'pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/filter') diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/filter/UserAgentFilter.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/filter/UserAgentFilter.java new file mode 100644 index 00000000..504cf472 --- /dev/null +++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/filter/UserAgentFilter.java @@ -0,0 +1,59 @@ +package at.gv.egiz.pdfas.web.filter; + +import java.io.IOException; + +import javax.servlet.Filter; +import javax.servlet.FilterChain; +import javax.servlet.FilterConfig; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.http.HttpServletRequest; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class UserAgentFilter implements Filter { + + private static final Logger logger = LoggerFactory + .getLogger(UserAgentFilter.class); + + @Override + public void init(FilterConfig filterConfig) throws ServletException { + // TODO Auto-generated method stub + + } + + private static final ThreadLocal requestUserAgent = new ThreadLocal() { + + @Override + protected String initialValue() { + return "unkown"; + } + + }; + + @Override + public void doFilter(ServletRequest request, ServletResponse response, + FilterChain chain) throws IOException, ServletException { + if(request instanceof HttpServletRequest) { + logger.debug("Processing Parameters into Attributes"); + HttpServletRequest httpRequest = (HttpServletRequest)request; + requestUserAgent.set(httpRequest.getHeader("User-Agent")); + } + try { + chain.doFilter(request, response); + } finally { + requestUserAgent.remove(); + } + } + + @Override + public void destroy() { + } + + public static String getUserAgent() { + return requestUserAgent.get(); + } + +} -- cgit v1.2.3