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