This is an automated email from the ASF dual-hosted git repository.
kulagaivan pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new e5ab1649bdb CAMEL-20638: camel-platform-http - Do not return http
request headers - FIX (#15162)
e5ab1649bdb is described below
commit e5ab1649bdb5c5a9c332af2c5b201c143f611539
Author: Ivan Kulaga <[email protected]>
AuthorDate: Wed Aug 14 23:49:43 2024 +0500
CAMEL-20638: camel-platform-http - Do not return http request headers - FIX
(#15162)
- fix typo in PlatformHttpEndpoint that was calling
applyFilterToExternalHeaders in place where applyFilterToCamelHeaders must be
called; added test that covers this behavior
---
.../platform/http/PlatformHttpEndpoint.java | 2 +-
.../http/JettyCustomPlatformHttpConsumer.java | 5 ++++
.../PlatformHttpReturnHttpRequestHeadersTest.java | 29 ++++++++++++++++++++++
3 files changed, 35 insertions(+), 1 deletion(-)
diff --git
a/components/camel-platform-http/src/main/java/org/apache/camel/component/platform/http/PlatformHttpEndpoint.java
b/components/camel-platform-http/src/main/java/org/apache/camel/component/platform/http/PlatformHttpEndpoint.java
index 99dc467c50d..9f88649c322 100644
---
a/components/camel-platform-http/src/main/java/org/apache/camel/component/platform/http/PlatformHttpEndpoint.java
+++
b/components/camel-platform-http/src/main/java/org/apache/camel/component/platform/http/PlatformHttpEndpoint.java
@@ -183,7 +183,7 @@ public class PlatformHttpEndpoint extends DefaultEndpoint
if (COMMON_HTTP_REQUEST_HEADERS.contains(headerName)) {
return true;
}
- return
headerFilterStrategy.applyFilterToExternalHeaders(headerName, headerValue,
exchange);
+ return
headerFilterStrategy.applyFilterToCamelHeaders(headerName, headerValue,
exchange);
}
@Override
diff --git
a/components/camel-platform-http/src/test/java/org/apache/camel/component/platform/http/JettyCustomPlatformHttpConsumer.java
b/components/camel-platform-http/src/test/java/org/apache/camel/component/platform/http/JettyCustomPlatformHttpConsumer.java
index 9af330c2ec3..5ba75f86279 100644
---
a/components/camel-platform-http/src/test/java/org/apache/camel/component/platform/http/JettyCustomPlatformHttpConsumer.java
+++
b/components/camel-platform-http/src/test/java/org/apache/camel/component/platform/http/JettyCustomPlatformHttpConsumer.java
@@ -182,6 +182,11 @@ public class JettyCustomPlatformHttpConsumer extends
DefaultConsumer implements
}
for (HttpField header : request.getHeaders()) {
+ String headerName = header.getName();
+ String headerValue = header.getValue();
+ if
(getEndpoint().getHeaderFilterStrategy().applyFilterToExternalHeaders(headerName,
headerValue, exchange)) {
+ continue;
+ }
message.setHeader(header.getName(), header.getValue());
}
diff --git
a/components/camel-platform-http/src/test/java/org/apache/camel/component/platform/http/PlatformHttpReturnHttpRequestHeadersTest.java
b/components/camel-platform-http/src/test/java/org/apache/camel/component/platform/http/PlatformHttpReturnHttpRequestHeadersTest.java
index 7d1536a4371..004ac1707c0 100644
---
a/components/camel-platform-http/src/test/java/org/apache/camel/component/platform/http/PlatformHttpReturnHttpRequestHeadersTest.java
+++
b/components/camel-platform-http/src/test/java/org/apache/camel/component/platform/http/PlatformHttpReturnHttpRequestHeadersTest.java
@@ -17,9 +17,11 @@
package org.apache.camel.component.platform.http;
import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.support.DefaultHeaderFilterStrategy;
import org.junit.jupiter.api.Test;
import static io.restassured.RestAssured.given;
+import static org.hamcrest.CoreMatchers.is;
public class PlatformHttpReturnHttpRequestHeadersTest extends
AbstractPlatformHttpTest {
@@ -65,15 +67,42 @@ public class PlatformHttpReturnHttpRequestHeadersTest
extends AbstractPlatformHt
.get("/get");
}
+ @Test
+ void testReturnHttpRequestHeadersFalseWithCustomHeaderFilterStrategy() {
+ given()
+ .header("Accept", "application/json")
+ .header("User-Agent", "User-Agent-Camel")
+ .header("Custom_In_Header", "Custom_In_Header_Value")
+ .header("Custom_Out_Header", "Custom_Out_Header_Value")
+ .port(port)
+ .expect()
+ .statusCode(200)
+ .header("Accept", (String) null)
+ .header("User-Agent", (String) null)
+ .header("Custom_In_Header", (String) null)
+ .header("Custom_Out_Header", (String) null)
+ .body(is("Custom_In_Header=,
Custom_Out_Header=Custom_Out_Header_Value"))
+ .when()
+ .get("/getWithCustomHeaderFilterStrategy");
+ }
+
@Override
protected RouteBuilder routes() {
return new RouteBuilder() {
@Override
public void configure() {
+ DefaultHeaderFilterStrategy testHeaderFilterStrategy = new
DefaultHeaderFilterStrategy();
+ testHeaderFilterStrategy.getInFilter().add("Custom_In_Header");
+
testHeaderFilterStrategy.getOutFilter().add("Custom_Out_Header");
+ getContext().getRegistry().bind("testHeaderFilterStrategy",
testHeaderFilterStrategy);
+
from("platform-http:/getWithoutRequestHeadersReturn?returnHttpRequestHeaders=false")
.setBody().constant("getWithoutRequestHeadersReturn");
from("platform-http:/getWithRequestHeadersReturn?returnHttpRequestHeaders=true")
.setBody().constant("getWithRequestHeadersReturn");
+
from("platform-http:/getWithCustomHeaderFilterStrategy?headerFilterStrategy=#testHeaderFilterStrategy")
+ .setBody()
+ .simple("Custom_In_Header=${header.Custom_In_Header},
Custom_Out_Header=${header.Custom_Out_Header}");
from("platform-http:/get")
.setBody().constant("get");
}