From 89387857b2719817fb039c2e685843d6e985e385 Mon Sep 17 00:00:00 2001 From: Tucker Siegel <tgsiegel@terpmail.umd.edu> Date: Wed, 12 Apr 2023 17:18:37 -0400 Subject: [PATCH] add ability to get ip addresses --- .../umd/dawn/common/interceptor/RequestInterceptor.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/java/edu/umd/dawn/common/interceptor/RequestInterceptor.java b/src/main/java/edu/umd/dawn/common/interceptor/RequestInterceptor.java index c1ee638..4e460db 100644 --- a/src/main/java/edu/umd/dawn/common/interceptor/RequestInterceptor.java +++ b/src/main/java/edu/umd/dawn/common/interceptor/RequestInterceptor.java @@ -8,8 +8,12 @@ import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.util.Enumeration; import java.util.HashMap; +import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.UUID; +import java.util.stream.Collectors; + import lombok.extern.log4j.Log4j2; import org.apache.logging.log4j.Level; import org.slf4j.MDC; @@ -108,6 +112,8 @@ public class RequestInterceptor implements HandlerInterceptor { userId = claims.getUserId(); } + List<String> ips = List.of(Optional.of(request.getHeader("X-FORWARDED-FOR")).orElse("").split(",")).stream().map(x -> x.trim()).collect(Collectors.toList()); + RequestLog requestLog = RequestLog.builder() .path(path) .method(request.getMethod()) @@ -117,6 +123,7 @@ public class RequestInterceptor implements HandlerInterceptor { .duration(executeTime) .userAgent(userAgentService.parse(headers)) .userId(userId) + .ips(ips) .build(); log.log(Level.forName("REQUEST", 10), requestLog); -- GitLab