oscerd opened a new pull request, #26209:
URL: https://github.com/apache/camel/pull/26209

   ## Backport of #26183
   
   Cherry-pick of #26183 onto `camel-4.22.x`.
   
   **Original PR:** #26183 - CAMEL-24424: camel-vertx-http - apply the outbound 
header filter on the REST producer
   **Original author:** @oscerd
   **Target branch:** `camel-4.22.x`
   
   Straight cherry-pick — the code, the test and the pom change applied with no 
conflicts and no changes.
   The only conflict was `camel-4x-upgrade-guide-4_23.adoc`, which does not 
exist on this branch; the
   upgrade guides for every line live on `main`, so the backport carries no 
guide edit. Full reactor
   sanity build on the target branch is clean.
   
   ### Why this is worth backporting
   
   `VertxHttpHeaderFilterStrategy` installs the common HTTP out filter, and the 
REST strategy never
   applied it, so a message header named `Content-Length`, `Transfer-Encoding`, 
`Host` or `Connection`
   was copied verbatim onto the outgoing request. Forwarding a stale framing 
header onto a new request
   is the kind of thing that desynchronises a downstream parser, which is why 
this is going to the
   maintenance lines rather than main only.
   
   ### Original description
   
   `VertxHttpRestHeaderFilterStrategy.applyFilterToCamelHeaders()` delegated to
   `super.applyFilterToExternalHeaders()` — the inbound rules — while 
implementing the outbound
   direction, so the out filter was never applied on a REST producer. The 
sibling REST strategies in
   `camel-http-common`, `camel-netty-http` and `camel-undertow` all delegate to 
the matching super
   method; vertx-http was the only one left with the mismatch, which has been 
there since the component
   was added in CAMEL-15283.
   
   `VertxHttpRestProducerHeaderFilterTest` drives a `rest:get` producer bound 
to vertx-http against an
   undertow test server and asserts what reaches the wire, including that the 
request `Content-Type`
   still propagates (it is set explicitly from the exchange before the filter 
loop runs).
   
   ---
   _Claude Code on behalf of 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]

Reply via email to