diff --git a/dmnverifierfrontend/src/main/java/de/unikoblenz/fgbks/dmn/frontend/HttpFilter.java b/dmnverifierfrontend/src/main/java/de/unikoblenz/fgbks/dmn/frontend/HttpFilter.java index 8cd0031275012efb530e6f92754de0d7a005f438..f2e5ee303ccebeb7d2696d40710a060a6ca82b68 100644 --- a/dmnverifierfrontend/src/main/java/de/unikoblenz/fgbks/dmn/frontend/HttpFilter.java +++ b/dmnverifierfrontend/src/main/java/de/unikoblenz/fgbks/dmn/frontend/HttpFilter.java @@ -1,25 +1,41 @@ package de.unikoblenz.fgbks.dmn.frontend; -import javax.servlet.http.HttpServletRequest; +import java.io.IOException; +import java.net.URI; +import javax.annotation.Priority; import javax.ws.rs.container.ContainerRequestContext; import javax.ws.rs.container.ContainerRequestFilter; -import javax.ws.rs.core.Context; +import javax.ws.rs.container.PreMatching; +import javax.ws.rs.core.MultivaluedMap; +import javax.ws.rs.core.Response; import javax.ws.rs.core.UriInfo; import javax.ws.rs.ext.Provider; @Provider +@PreMatching public class HttpFilter implements ContainerRequestFilter { - @Context - UriInfo info; - @Context - HttpServletRequest request; - @Override - public void filter(ContainerRequestContext context) { - final String method = context.getMethod(); - final String path = info.getPath(); - final String address = request.getRemoteAddr(); - System.out.format("Request %s %s from IP %s %n + x", method, path, address); + public void filter(ContainerRequestContext reqContext) throws IOException { + System.out.println("-- request info --"); + UriInfo uriInfo = reqContext.getUriInfo(); + System.out.println(uriInfo.getRequestUri().toString()); + System.out.println(reqContext.getMethod()); + log(uriInfo, reqContext.getHeaders()); + + reqContext.abortWith(Response.noContent().build()); + reqContext.setRequestUri(URI.create("/index.html")); + + System.out.println("-- request info --"); + uriInfo = reqContext.getUriInfo(); + System.out.println(uriInfo.getRequestUri().toString()); + System.out.println(reqContext.getMethod()); + log(uriInfo, reqContext.getHeaders()); + } + + private void log(UriInfo uriInfo, MultivaluedMap<String, ?> headers) { + System.out.println("Path: " + uriInfo.getPath()); + System.out.println("HEADERS:"); + headers.entrySet().forEach(h -> System.out.println(h.getKey() + ": " + h.getValue())); } }