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 57cc5d1b586326a5b6215a43ca0dfe9e8b8e1a23..e95df9d9c00241d3f6cfdd63acbaa37aaf69a3b5 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 0000000000000000000000000000000000000000..9722cc061daf7c38c58b1d703d9d76533e749864 --- /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; + } + +}