From f87590c86de4b631ee62f76f511d3049c39876a5 Mon Sep 17 00:00:00 2001 From: Jonas Blatt <jonasblatt@uni-koblenz.de> Date: Thu, 17 Oct 2019 22:57:37 +0200 Subject: [PATCH] #4 First version for http filter --- .../fgbks/dmn/frontend/HttpFilter.java | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 dmnverifierfrontend/src/main/java/de/unikoblenz/fgbks/dmn/frontend/HttpFilter.java 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 new file mode 100644 index 00000000..73ae93d3 --- /dev/null +++ b/dmnverifierfrontend/src/main/java/de/unikoblenz/fgbks/dmn/frontend/HttpFilter.java @@ -0,0 +1,40 @@ +package de.unikoblenz.fgbks.dmn.frontend; + +import java.io.IOException; +import java.net.URI; +import javax.ws.rs.container.ContainerRequestContext; +import javax.ws.rs.container.ContainerRequestFilter; +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 { + + @Override + 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())); + } +} -- GitLab