You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2024/04/26 15:22:23 UTC

(tomcat) 01/04: Add a method to filter the parsed headers.

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

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

commit 43622a07488a297dbd8ad4d0c72d2ff4d8c24f90
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 cfc419199c..43b089451d 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;
@@ -162,6 +163,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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org