1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.myfaces.tobago.internal.webapp;
21
22 import org.slf4j.Logger;
23 import org.slf4j.LoggerFactory;
24
25 import javax.servlet.Filter;
26 import javax.servlet.FilterChain;
27 import javax.servlet.FilterConfig;
28 import javax.servlet.ServletException;
29 import javax.servlet.ServletRequest;
30 import javax.servlet.ServletResponse;
31 import javax.servlet.http.HttpServletResponse;
32 import java.io.IOException;
33
34 public class DebugContentTypeFilter implements Filter {
35 private static final Logger LOG = LoggerFactory.getLogger(DebugContentTypeFilter.class);
36
37 public void init(FilterConfig filterConfig) throws ServletException {
38 if (LOG.isInfoEnabled()) {
39 LOG.info("init " + getClass().getName());
40 }
41 }
42
43 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
44 throws IOException, ServletException {
45 if (LOG.isDebugEnabled()) {
46 LOG.debug("do Filter " + getClass().getName());
47 }
48 if (response instanceof HttpServletResponse) {
49 if (LOG.isDebugEnabled()) {
50 LOG.debug("wrapping response " + getClass().getName());
51 }
52 chain.doFilter(request, new DebugContentTypeResponse((HttpServletResponse) response));
53 } else {
54 chain.doFilter(request, response);
55 }
56 }
57
58 public void destroy() {
59
60 }
61 }