KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > openedit > servlet > gzip > GzipFilter


1 package com.openedit.servlet.gzip;
2
3 import java.io.IOException JavaDoc;
4
5 import javax.servlet.Filter JavaDoc;
6 import javax.servlet.FilterChain JavaDoc;
7 import javax.servlet.FilterConfig JavaDoc;
8 import javax.servlet.ServletException JavaDoc;
9 import javax.servlet.ServletRequest JavaDoc;
10 import javax.servlet.ServletResponse JavaDoc;
11 import javax.servlet.http.HttpServletRequest JavaDoc;
12 import javax.servlet.http.HttpServletResponse JavaDoc;
13
14 public class GzipFilter implements Filter JavaDoc {
15
16   public void doFilter(ServletRequest JavaDoc req, ServletResponse JavaDoc res,
17       FilterChain JavaDoc chain) throws IOException JavaDoc, ServletException JavaDoc {
18     if (req instanceof HttpServletRequest JavaDoc) {
19       HttpServletRequest JavaDoc request = (HttpServletRequest JavaDoc) req;
20       HttpServletResponse JavaDoc response = (HttpServletResponse JavaDoc) res;
21       String JavaDoc ae = request.getHeader("accept-encoding");
22       if (ae != null && ae.indexOf("gzip") != -1) {
23         //System.out.println("GZIP supported, compressing.");
24
GzipResponseWrapper wrappedResponse =
25           new GzipResponseWrapper(response);
26         chain.doFilter(req, wrappedResponse);
27         wrappedResponse.finishResponse();
28         return;
29       }
30       chain.doFilter(req, res);
31     }
32   }
33
34   public void init(FilterConfig JavaDoc filterConfig) {
35     // noop
36
}
37
38   public void destroy() {
39     // noop
40
}
41 }
42
Popular Tags