01: package com.nabhinc.ws.server;
02:
03: import java.io.IOException;
04:
05: import javax.servlet.Filter;
06: import javax.servlet.FilterChain;
07: import javax.servlet.FilterConfig;
08: import javax.servlet.ServletException;
09: 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 RequestContextFilter implements Filter {
15:
16: public void init(FilterConfig arg0) throws ServletException {
17: // No initialization needed
18:
19: }
20:
21: public void doFilter(ServletRequest req, ServletResponse res,
22: FilterChain arg2) throws IOException, ServletException {
23: // Attach request context to this thread
24: try {
25: RequestContext reqContext = new RequestContext(
26: (HttpServletRequest) req, (HttpServletResponse) res);
27: Current.attachRequestContext(reqContext);
28: arg2.doFilter(req, res);
29: } finally {
30: Current.detachRequestContext();
31: }
32: }
33:
34: public void destroy() {
35: // Nothing special needs to be done here
36:
37: }
38:
39: }
|