From a10878d49afa84faf848babad086f0dbb9de900d Mon Sep 17 00:00:00 2001 From: Jonas Blatt <jonasblatt@uni-koblenz.de> Date: Thu, 17 Oct 2019 21:08:07 +0200 Subject: [PATCH] #4 Firest version of frontend http filter (not working) --- .../fgbks/dmn/frontend/HttpFilter.java | 40 +++++++++++++------ 1 file changed, 28 insertions(+), 12 deletions(-) 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 8cd00312..f2e5ee30 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())); } } -- GitLab