This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit b31efad19216282c43635099f3c6d02fad4d8df6
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Fri Apr 26 15:46:32 2024 +0100

    Add a method to filter the parsed headers.
    
    This will (eventually) be used by the refactored trailer header parsing
---
 java/org/apache/tomcat/util/http/MimeHeaders.java | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/java/org/apache/tomcat/util/http/MimeHeaders.java 
b/java/org/apache/tomcat/util/http/MimeHeaders.java
index 48ec279a09..5a67d76f7a 100644
--- a/java/org/apache/tomcat/util/http/MimeHeaders.java
+++ b/java/org/apache/tomcat/util/http/MimeHeaders.java
@@ -23,6 +23,7 @@ import java.util.Collections;
 import java.util.Enumeration;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.Set;
 
 import org.apache.tomcat.util.buf.MessageBytes;
 import org.apache.tomcat.util.buf.StringUtils;
@@ -167,6 +168,21 @@ public class MimeHeaders {
     }
 
 
+    public void filter(Set<String> allowedHeaders) {
+        int j = -1;
+        for (int i = 0; i < count; i++) {
+            String name = headers[i].getName().toStringType();
+            if (allowedHeaders.contains(name)) {
+                ++j;
+                if (j != i) {
+                    headers[j] = headers[i];
+                }
+            }
+        }
+        count = ++j;
+    }
+
+
     public void duplicate(MimeHeaders source) throws IOException {
         for (int i = 0; i < source.size(); i++) {
             MimeHeaderField mhf = createHeader();


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to