oscerd opened a new pull request, #24724: URL: https://github.com/apache/camel/pull/24724
## Summary The Knative consumer filters inbound HTTP headers through `KnativeHttpHeaderFilterStrategy`, so Camel-internal headers (`Camel*`) are not mapped onto the message. When a CloudEvent is received in **structured content mode** (`application/cloudevents+json`), `CloudEventProcessors.decodeStructuredContent` mapped the remaining event fields (extensions) directly onto the message headers **without** applying any `HeaderFilterStrategy` — inconsistent with the binary/HTTP-header path. This routes structured-mode extension fields through a `HeaderFilterStrategy` before setting them as headers, so `Camel*` headers (matched case-insensitively) are filtered consistently on both content modes. Ordinary CloudEvent extension attributes are unaffected. ## Changes - `AbstractCloudEventProcessor`: add a `HeaderFilterStrategy` and a shared `mapExtensionAsHeader(...)` helper. - `CloudEventProcessors`: route the extension mapping (all spec versions) through the helper. - `KnativeHttpTest`: new test asserting a regular extension is propagated and a `Camel*`-named field is filtered. - Upgrade guide (4.22): documents the consistency change. ## Notes - On `main`/`4.21.x`, `DefaultHeaderFilterStrategy` filters `Camel*` inbound by default; the `4.18.x`/`4.14.x` backports will set `setInFilterStartsWith(CAMEL_FILTER_STARTS_WITH)` explicitly. - JIRA: [CAMEL-24084](https://issues.apache.org/jira/browse/CAMEL-24084) _Claude Code on behalf of Andrea Cosentino (@oscerd)_ 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
