package org.pirkaengine.mobile.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.pirkaengine.mobile.Device;
public class MobileFilter implements Filter {
/*
* (non-Javadoc)
* @see javax.servlet.Filter#init(javax.servlet.FilterConfig)
*/
public void init(FilterConfig config) throws ServletException {
}
/*
* (non-Javadoc)
* @see javax.servlet.Filter#destroy()
*/
public void destroy() {
}
/*
* (non-Javadoc)
* @see javax.servlet.Filter#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)
*/
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException,
ServletException {
doFilter((HttpServletRequest) req, (HttpServletResponse) res, chain);
}
protected void doFilter(HttpServletRequest req, HttpServletResponse res, FilterChain chain) throws IOException,
ServletException {
Device device = Device.lookup(req);
req.setAttribute(Device.KEY, device);
MobileResponse response = new MobileResponse(res, device);
chain.doFilter(req, response);
response.flushBuffer();
}
}