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.http.HttpServletResponse;
26 import javax.servlet.http.HttpServletResponseWrapper;
27 import java.lang.invoke.MethodHandles;
28
29 public class DebugContentTypeResponse extends HttpServletResponseWrapper {
30
31 private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
32
33 public DebugContentTypeResponse(final HttpServletResponse response) {
34 super(response);
35 }
36
37 @Override
38 public void setContentType(final String type) {
39 if (LOG.isDebugEnabled()) {
40 LOG.debug("Setting Content-Type to '" + type + "'.", new Exception());
41 }
42 super.setContentType(type);
43 }
44
45 @Override
46 public String getContentType() {
47 final String type = super.getContentType();
48 if (LOG.isDebugEnabled()) {
49 LOG.debug("Getting Content-Type '" + type + "'.", new Exception());
50 }
51 return type;
52 }
53
54 @Override
55 public void setHeader(final String name, final String value) {
56 if ("Content-Type".equals(name)) {
57 if (LOG.isDebugEnabled()) {
58 LOG.debug("Setting Content-Type to '" + value + "'.", new Exception());
59 }
60 }
61 super.setHeader(name, value);
62 }
63
64 @Override
65 public void addHeader(final String name, final String value) {
66 if ("Content-Type".equals(name)) {
67 if (LOG.isDebugEnabled()) {
68 LOG.debug("Setting Content-Type to '" + value + "'.", new Exception());
69 }
70 }
71 super.addHeader(name, value);
72 }
73 }