summaryrefslogtreecommitdiffhomepage
path: root/src/java/nginx/unit/IncludeResponseWrapper.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/java/nginx/unit/IncludeResponseWrapper.java')
-rw-r--r--src/java/nginx/unit/IncludeResponseWrapper.java117
1 files changed, 117 insertions, 0 deletions
diff --git a/src/java/nginx/unit/IncludeResponseWrapper.java b/src/java/nginx/unit/IncludeResponseWrapper.java
new file mode 100644
index 00000000..4537114a
--- /dev/null
+++ b/src/java/nginx/unit/IncludeResponseWrapper.java
@@ -0,0 +1,117 @@
+package nginx.unit;
+
+import java.io.IOException;
+
+import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
+
+import javax.servlet.ServletResponse;
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpServletResponseWrapper;
+
+public class IncludeResponseWrapper extends HttpServletResponseWrapper {
+ private static final Charset UTF_8 = StandardCharsets.UTF_8;
+
+ public IncludeResponseWrapper(ServletResponse response)
+ {
+ super((HttpServletResponse) response);
+ }
+
+ @Override
+ public void addCookie(Cookie cookie)
+ {
+ trace("addCookie: " + cookie.getName() + "=" + cookie.getValue());
+ }
+
+ @Override
+ public void addDateHeader(String name, long date)
+ {
+ trace("addDateHeader: " + name + ": " + date);
+ }
+
+ @Override
+ public void addHeader(String name, String value)
+ {
+ trace("addHeader: " + name + ": " + value);
+ }
+
+ @Override
+ public void addIntHeader(String name, int value)
+ {
+ trace("addIntHeader: " + name + ": " + value);
+ }
+
+ @Override
+ public void sendRedirect(String location) throws IOException
+ {
+ trace("sendRedirect: " + location);
+ }
+
+ @Override
+ public void setDateHeader(String name, long date)
+ {
+ trace("setDateHeader: " + name + ": " + date);
+ }
+
+ @Override
+ public void setHeader(String name, String value)
+ {
+ trace("setHeader: " + name + ": " + value);
+ }
+
+ @Override
+ public void setIntHeader(String name, int value)
+ {
+ trace("setIntHeader: " + name + ": " + value);
+ }
+
+ @Override
+ public void setStatus(int sc)
+ {
+ trace("setStatus: " + sc);
+ }
+
+ @Override
+ @Deprecated
+ public void setStatus(int sc, String sm)
+ {
+ trace("setStatus: " + sc + "; " + sm);
+ }
+
+ @Override
+ public void reset()
+ {
+ trace("reset");
+ }
+
+ @Override
+ public void setCharacterEncoding(String charset)
+ {
+ trace("setCharacterEncoding " + charset);
+ }
+
+ @Override
+ public void setContentLength(int len)
+ {
+ trace("setContentLength: " + len);
+ }
+
+ @Override
+ public void setContentLengthLong(long len)
+ {
+ trace("setContentLengthLong: " + len);
+ }
+
+ @Override
+ public void setContentType(String type)
+ {
+ trace("setContentType: " + type);
+ }
+
+ private void trace(String msg)
+ {
+ msg = "IncludeResponse." + msg;
+ Response.trace(0, msg.getBytes(UTF_8));
+ }
+}