From b3db6fd2f8d6f5ac31f6e097fdacdc2085a83192 Mon Sep 17 00:00:00 2001
From: Tucker Siegel <tgsiegel@terpmail.umd.edu>
Date: Thu, 6 Apr 2023 19:07:58 -0400
Subject: [PATCH] change up the filter

---
 .../common/filters/CaseInsensitiveFilter.java | 24 +----------
 .../filters/CaseInsensitiveFilterWrapper.java | 41 +++++++++++++++++++
 2 files changed, 42 insertions(+), 23 deletions(-)
 create mode 100644 src/main/java/edu/umd/dawn/common/filters/CaseInsensitiveFilterWrapper.java

diff --git a/src/main/java/edu/umd/dawn/common/filters/CaseInsensitiveFilter.java b/src/main/java/edu/umd/dawn/common/filters/CaseInsensitiveFilter.java
index 57cc5d1..e95df9d 100644
--- a/src/main/java/edu/umd/dawn/common/filters/CaseInsensitiveFilter.java
+++ b/src/main/java/edu/umd/dawn/common/filters/CaseInsensitiveFilter.java
@@ -43,29 +43,7 @@ public class CaseInsensitiveFilter extends OncePerRequestFilter {
         }
 
         filterChain.doFilter(
-                new HttpServletRequestWrapper(request) {
-                    @Override
-                    public String getParameter(String name) {
-                        return formattedParams.containsKey(name)
-                                ? formattedParams.get(name)[0]
-                                : null;
-                    }
-
-                    @Override
-                    public Enumeration<String> getParameterNames() {
-                        return Collections.enumeration(formattedParams.keySet());
-                    }
-
-                    @Override
-                    public String[] getParameterValues(String name) {
-                        return formattedParams.get(name);
-                    }
-
-                    @Override
-                    public Map<String, String[]> getParameterMap() {
-                        return formattedParams;
-                    }
-                },
+                new CaseInsensitiveFilterWrapper(request, formattedParams),
                 response);
 
         if (invalidParameterCase.size() > 0) {
diff --git a/src/main/java/edu/umd/dawn/common/filters/CaseInsensitiveFilterWrapper.java b/src/main/java/edu/umd/dawn/common/filters/CaseInsensitiveFilterWrapper.java
new file mode 100644
index 0000000..9722cc0
--- /dev/null
+++ b/src/main/java/edu/umd/dawn/common/filters/CaseInsensitiveFilterWrapper.java
@@ -0,0 +1,41 @@
+package edu.umd.dawn.common.filters;
+
+import java.util.Collections;
+import java.util.Enumeration;
+import java.util.Map;
+
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequestWrapper;
+
+public class CaseInsensitiveFilterWrapper extends HttpServletRequestWrapper {
+
+    Map<String, String[]> formattedParams;
+
+    public CaseInsensitiveFilterWrapper(HttpServletRequest request, Map<String, String[]> formattedParams) {
+        super(request);
+        this.formattedParams = formattedParams;
+    }
+
+    @Override
+    public String getParameter(String name) {
+        return formattedParams.containsKey(name)
+                ? formattedParams.get(name)[0]
+                : null;
+    }
+
+    @Override
+    public Enumeration<String> getParameterNames() {
+        return Collections.enumeration(formattedParams.keySet());
+    }
+
+    @Override
+    public String[] getParameterValues(String name) {
+        return formattedParams.get(name);
+    }
+
+    @Override
+    public Map<String, String[]> getParameterMap() {
+        return formattedParams;
+    }
+    
+}
-- 
GitLab