Skip to content

CAMEL-23532: camel-vertx-websocket / camel-atmosphere-websocket / camel-iggy - use dedicated HeaderFilterStrategy aligned with sibling components#23285

Merged
oscerd merged 1 commit into
apache:mainfrom
oscerd:CAMEL-23532-header-filter-strategy
May 18, 2026
Merged

Conversation

@oscerd
Copy link
Copy Markdown
Contributor

@oscerd oscerd commented May 18, 2026

CAMEL-23532

Aligns camel-vertx-websocket, camel-atmosphere-websocket and camel-iggy with the HeaderFilterStrategy pattern already adopted across the component catalog (CAMEL-23222 camel-coap, CAMEL-23507 camel-cometd, CAMEL-23515 camel-nats). Their inbound consumers previously mapped externally supplied key/value data (WebSocket query/path parameters; Iggy message user-headers) into the Camel message header map without a HeaderFilterStrategy.

Changes

  • camel-vertx-websocket — new VertxWebsocketHeaderFilterStrategy (filters Camel/camel headers case-insensitively, both directions), exposed via a new headerFilterStrategy endpoint option; applied in VertxWebsocketConsumer.populateExchangeHeaders() before mapping query and path parameters.
  • camel-iggy — new IggyHeaderFilterStrategy, exposed via a new headerFilterStrategy endpoint option; applied in IggyFetchRecords before copying message user-headers.
  • camel-atmosphere-websocket — applies the existing inherited HttpHeaderFilterStrategy in WebsocketConsumer before mapping query parameters (no new option needed; the component already extends the HTTP/servlet stack).

Tests

  • VertxWebsocketHeaderFilterStrategyTest and IggyHeaderFilterStrategyTest, mirroring NatsHeaderFilterStrategyTest.

Docs

  • Upgrade-guide note added to camel-4x-upgrade-guide-4_21.adoc covering the behaviour change, the new endpoint option, and the opt-out (supply a custom headerFilterStrategy).

Generated artifacts

  • Regenerated endpoint configurers, URI factories, component & catalog JSON, and endpoint-DSL builder factories for the two components that gained the new option.

Fix Version/s on the issue: 4.21.0, 4.18.3, 4.14.8 (camel-iggy is main + 4.18.x only — it does not exist on the 4.14.x line). Backports handled separately.


Claude Code on behalf of Andrea Cosentino

…el-iggy - use dedicated HeaderFilterStrategy aligned with sibling components

Apply a HeaderFilterStrategy on the inbound header mapping of the
vertx-websocket, atmosphere-websocket and iggy consumers, following the
pattern already used by camel-coap (CAMEL-23222), camel-cometd
(CAMEL-23507) and camel-nats (CAMEL-23515).

- camel-vertx-websocket: new VertxWebsocketHeaderFilterStrategy, exposed
  via a headerFilterStrategy endpoint option, applied in
  VertxWebsocketConsumer.populateExchangeHeaders() before mapping query
  and path parameters.
- camel-iggy: new IggyHeaderFilterStrategy, exposed via a
  headerFilterStrategy endpoint option, applied in IggyFetchRecords
  before copying message user-headers.
- camel-atmosphere-websocket: apply the existing (inherited)
  HttpHeaderFilterStrategy in WebsocketConsumer before mapping query
  parameters; no new option required.

Includes unit tests for the new strategies and an upgrade-guide note.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Andrea Cosentino <ancosen@gmail.com>
@oscerd oscerd requested review from Croway and davsclaus May 18, 2026 11:47
@github-actions
Copy link
Copy Markdown
Contributor

🌟 Thank you for your contribution to the Apache Camel project! 🌟
🤖 CI automation will test this PR automatically.

🐫 Apache Camel Committers, please review the following items:

  • First-time contributors require MANUAL approval for the GitHub Actions to run
  • You can use the command /component-test (camel-)component-name1 (camel-)component-name2.. to request a test from the test bot although they are normally detected and executed by CI.
  • You can label PRs using skip-tests and test-dependents to fine-tune the checks executed by this PR.
  • Build and test logs are available in the summary page. Only Apache Camel committers have access to the summary.

⚠️ Be careful when sharing logs. Review their contents before sharing them publicly.

@github-actions
Copy link
Copy Markdown
Contributor

🧪 CI tested the following changed modules:

  • catalog/camel-catalog
  • components/camel-atmosphere-websocket
  • components/camel-iggy
  • components/camel-vertx/camel-vertx-websocket
  • docs
  • dsl/camel-endpointdsl

⚠️ Some tests are disabled on GitHub Actions (@DisabledIfSystemProperty(named = "ci.env.name")) and require manual verification:

  • components/camel-iggy: 4 test(s) disabled on GitHub Actions
All tested modules (13 modules)
  • Camel :: Atmosphere WebSocket Servlet
  • Camel :: Catalog :: Camel Catalog
  • Camel :: Endpoint DSL
  • Camel :: IBM :: watsonx.ai
  • Camel :: Iggy
  • Camel :: JBang :: MCP
  • Camel :: JBang :: Plugin :: Route Parser
  • Camel :: JBang :: Plugin :: TUI
  • Camel :: JBang :: Plugin :: Validate
  • Camel :: Launcher :: Container
  • Camel :: Vert.x :: WebSocket
  • Camel :: YAML DSL :: Validator
  • Camel :: YAML DSL :: Validator Maven Plugin

⚙️ View full build and test results

@oscerd oscerd merged commit 1e77623 into apache:main May 18, 2026
7 checks passed
@oscerd oscerd deleted the CAMEL-23532-header-filter-strategy branch May 18, 2026 15:37
oscerd added a commit that referenced this pull request May 19, 2026
…el-iggy - use dedicated HeaderFilterStrategy aligned with sibling components (#23313)

Apply a HeaderFilterStrategy on the inbound header mapping of the
vertx-websocket, atmosphere-websocket and iggy consumers, aligning them
with the pattern already used by camel-coap (CAMEL-23222), camel-cometd
(CAMEL-23507) and camel-nats (CAMEL-23515). vertx-websocket and iggy gain
a new VertxWebsocketHeaderFilterStrategy / IggyHeaderFilterStrategy plus a
headerFilterStrategy endpoint option; atmosphere-websocket reuses the
HeaderFilterStrategy it already inherits from the HTTP/servlet stack.
Includes unit tests and an upgrade-guide note.

Closes #23285



(cherry picked from commit 1e77623)

Signed-off-by: Andrea Cosentino <ancosen@gmail.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
oscerd added a commit that referenced this pull request May 20, 2026
…el-iggy - use dedicated HeaderFilterStrategy aligned with sibling components (#23352)

Apply a HeaderFilterStrategy on the inbound header mapping of the
vertx-websocket, atmosphere-websocket and iggy consumers, aligning them
with the pattern already used by camel-coap (CAMEL-23222), camel-cometd
(CAMEL-23507) and camel-nats (CAMEL-23515). vertx-websocket and iggy gain
a new VertxWebsocketHeaderFilterStrategy / IggyHeaderFilterStrategy plus a
headerFilterStrategy endpoint option; atmosphere-websocket reuses the
HeaderFilterStrategy it already inherits from the HTTP/servlet stack.
Includes unit tests and an upgrade-guide note.

Closes #23285



(cherry picked from commit 1e77623)

Signed-off-by: Andrea Cosentino <ancosen@gmail.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants