package edu.mayo.cts2.framework.webapp.rest.osgi;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class DelegatingFilterChain implements FilterChain {
private FilterChain delegate;
private Filter[] additionalFilters;
int pos = 0;
public DelegatingFilterChain(FilterChain delegate, Filter... additionalFilters){
super();
this.delegate = delegate;
this.additionalFilters = additionalFilters;
}
@Override
public void doFilter(ServletRequest request, ServletResponse response)
throws IOException, ServletException {
if(pos < this.additionalFilters.length){
Filter filter = this.additionalFilters[pos];
pos++;
filter.doFilter(request, response, this);
} else {
delegate.doFilter(request, response);
}
}
}