import java.util.Objects;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
import org.apache.catalina.connector.Request;
import org.apache.catalina.connector.Response;
import org.apache.catalina.valves.ValveBase;
throw new IllegalStateException("Initialization error");
}
- FilterChain nextValveFilterChain = new FilterChain() {
- @Override
- public void doFilter(ServletRequest req, ServletResponse resp) throws IOException, ServletException {
- boolean reqEquals = Objects.equals(request, req);
- boolean respEquals = Objects.equals(response, resp);
- if (reqEquals == false || respEquals == false) {
- logger.error("Illegal change was detected by valve - request {} or " +
- "response {} was replaced by a filter. This is not supported by this valve",
- reqEquals, respEquals);
- throw new IllegalStateException("Request or response was replaced in a filter");
- }
- getNext().invoke(request, response);
+ FilterChain nextValveFilterChain = (req, resp) -> {
+ boolean reqEquals = Objects.equals(request, req);
+ boolean respEquals = Objects.equals(response, resp);
+ if (reqEquals == false || respEquals == false) {
+ logger.error("Illegal change was detected by valve - request {} or " +
+ "response {} was replaced by a filter. This is not supported by this valve",
+ reqEquals, respEquals);
+ throw new IllegalStateException("Request or response was replaced in a filter");
}
+ getNext().invoke(request, response);
};
filterProcessor.process(request, response, nextValveFilterChain);
}
import java.util.ListIterator;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
import org.apache.catalina.connector.Request;
import org.apache.catalina.connector.Response;
import org.opendaylight.controller.filtervalve.cors.jaxb.Context;
while (it.hasPrevious()) {
final Filter currentFilter = it.previous();
final FilterChain copy = fromLast;
- fromLast = new FilterChain() {
- @Override
- public void doFilter(ServletRequest request, ServletResponse response) throws IOException, ServletException {
- if (trace) {
- logger.trace("Applying {}", currentFilter);
- }
- javax.servlet.Filter actualFilter = currentFilter.getActualFilter();
- actualFilter.doFilter(request, response, copy);
+ fromLast = (request1, response1) -> {
+ if (trace) {
+ logger.trace("Applying {}", currentFilter);
}
+ javax.servlet.Filter actualFilter = currentFilter.getActualFilter();
+ actualFilter.doFilter(request1, response1, copy);
};
}
// call first filter