1 package org.mortbay.servlet.jetty;
2
3 import java.io.IOException;
4
5 import javax.servlet.http.HttpServletRequest;
6 import javax.servlet.http.HttpServletResponse;
7
8 import org.mortbay.jetty.HttpConnection;
9 import org.mortbay.servlet.GzipFilter;
10
11
12
13
14
15
16
17
18
19
20
21
22 public class IncludableGzipFilter extends GzipFilter
23 {
24
25 protected GZIPResponseWrapper newGZIPResponseWrapper(HttpServletRequest request, HttpServletResponse response)
26 {
27 return new IncludableResponseWrapper(request,response);
28 }
29
30 public class IncludableResponseWrapper extends GzipFilter.GZIPResponseWrapper
31 {
32 public IncludableResponseWrapper(HttpServletRequest request, HttpServletResponse response)
33 {
34 super(request,response);
35 }
36
37 protected GzipStream newGzipStream(HttpServletRequest request,HttpServletResponse response,long contentLength,int bufferSize, int minGzipSize) throws IOException
38 {
39 return new IncludableGzipStream(request,response,contentLength,bufferSize,minGzipSize);
40 }
41 }
42
43 public class IncludableGzipStream extends GzipFilter.GzipStream
44 {
45 public IncludableGzipStream(HttpServletRequest request, HttpServletResponse response, long contentLength, int bufferSize, int minGzipSize)
46 throws IOException
47 {
48 super(request,response,contentLength,bufferSize,minGzipSize);
49 }
50
51 protected boolean setContentEncodingGzip()
52 {
53 HttpConnection connection = HttpConnection.getCurrentConnection();
54 connection.getResponseFields().put("Content-Encoding", "gzip");
55 return true;
56 }
57
58 }
59
60 }