1 package at.meikel.dmrl.webapp.rest;
2
3 import java.io.IOException;
4
5 import javax.servlet.Filter;
6 import javax.servlet.FilterChain;
7 import javax.servlet.FilterConfig;
8 import javax.servlet.ServletException;
9 import javax.servlet.ServletOutputStream;
10 import javax.servlet.ServletRequest;
11 import javax.servlet.ServletResponse;
12 import javax.servlet.http.HttpServletRequest;
13
14 import org.apache.log4j.Logger;
15
16
17
18
19 public class SampleFilter implements Filter {
20
21 private static final Logger LOGGER = Logger.getLogger(SampleFilter.class);
22
23
24
25
26 public SampleFilter() {
27 }
28
29
30
31
32 public void destroy() {
33 }
34
35
36
37
38 public void doFilter(ServletRequest request, ServletResponse response,
39 FilterChain chain) throws IOException, ServletException {
40
41
42 String reqUrl = "unknown";
43 try {
44 reqUrl = ((HttpServletRequest) request).getRequestURL().toString();
45 String queryString = ((HttpServletRequest) request)
46 .getQueryString();
47 if (queryString != null) {
48 reqUrl += "?" + queryString;
49 }
50 } catch (Exception e) {
51
52 }
53
54 LOGGER.info("Executing servlet for URL " + reqUrl + " at "
55 + new java.util.Date());
56 LOGGER.info(" request-content-type=" + request.getContentType());
57 String callback = request.getParameter("callback");
58 LOGGER.info(" callback=" + callback);
59 ServletOutputStream out = response.getOutputStream();
60 if (callback != null) {
61 out.write((callback + "(").getBytes());
62 }
63 chain.doFilter(request, response);
64 if (callback != null) {
65 out.write(")".getBytes());
66 }
67 LOGGER.info(" response-content-type=" + response.getContentType());
68 out.close();
69 }
70
71
72
73
74 public void init(FilterConfig fConfig) throws ServletException {
75 }
76
77 }