Forums Register Login

Fudging Filter Functionality as a method call

+Pie Number of slices to send: Send
Is there a way that I can fudge filter functionality as a method call.
I am having problem using Jason Falkner's Compression Filter using Struts. Apparently, our application (developed by previous developers) is doing ServletChaining and I am getting exception.
I want to use Jason Falkner's CompressionFilter.
But can I use it as a method call, instead of using it as a Filter? I have no other filter in the application.

Jason Falkner's Compression Filter:

public void doFilter(ServletRequest req, ServletResponse res,
FilterChain chain) throws IOException, ServletException {
if (req instanceof HttpServletRequest) {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
String ae = request.getHeader("accept-encoding");
// String doCompression = req.getParameter("doCompession");
if (ae != null && ae.indexOf("gzip") != -1) {
System.out.println("GZIP supported, compressing.");
GZIPResponseWrapper wrappedResponse =
new GZIPResponseWrapper(response);
chain.doFilter(req, wrappedResponse);
wrappedResponse.finishResponse();
return;
}
chain.doFilter(req, res);

}
}

I tried using it as a method call by commenting out line chain.doFilter(req, wrappedResponse). As I saidd, there is no filter in the application. Chain.doFilter(..) in reality passes control to the resource that has to be compressed. After that, control comes back to wrappedResponse.finishResponse() line.

However, if I try to use doFilter as a method call by commenting out chain.doFilter(req, wrappedResponse), and call it at some place of a Servlet, it does not do any good. Key is, control has to come back to filter for it to be compressed.

Any thoughts?
You get good luck from rubbing the belly of a tiny ad:
a bit of art, as a gift, that will fit in a stocking
https://gardener-gift.com


reply
reply
This thread has been viewed 907 times.
Similar Threads
JSP with large data loads slow in Solaris10 OS , we are using Jrun4 and nested logic:iterate
chain.doFilter() being called twice.
Filter Configuration in Websphere Application Server 6.1
Stream and writer
Filters and GZip
More...

All times above are in ranch (not your local) time.
The current ranch time is
Apr 16, 2024 00:35:46.