1 package com.openedit.servlet.gzip; 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.ServletRequest ; 10 import javax.servlet.ServletResponse ; 11 import javax.servlet.http.HttpServletRequest ; 12 import javax.servlet.http.HttpServletResponse ; 13 14 public class GzipFilter implements Filter { 15 16 public void doFilter(ServletRequest req, ServletResponse res, 17 FilterChain chain) throws IOException , ServletException { 18 if (req instanceof HttpServletRequest ) { 19 HttpServletRequest request = (HttpServletRequest ) req; 20 HttpServletResponse response = (HttpServletResponse ) res; 21 String ae = request.getHeader("accept-encoding"); 22 if (ae != null && ae.indexOf("gzip") != -1) { 23 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 filterConfig) { 35 } 37 38 public void destroy() { 39 } 41 } 42 | Popular Tags |