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

   ## Summary
   
   _Claude Code on behalf of davsclaus_
   
   Two related defects in camel-lra cause saga compensation/completion to 
silently fail when endpoint URIs contain query parameters or special characters:
   
   - **`LRAUrlBuilder.query()`** concatenated keys and values raw with no 
`URLEncoder`. An endpoint URI like 
`seda:cancelOrder?concurrentConsumers=2&size=1000` corrupts the callback URL 
registered with the LRA coordinator.
   - **`LRASagaRoutes.parseQuery()`** used `split("=")` without a limit, 
dropping everything after the second `=` in a value.
   
   ### Changes
   
   - `LRAUrlBuilder.query()`: URL-encode both key and value with 
`URLEncoder.encode()`
   - `LRASagaRoutes.parseQuery()`: use `split("=", 2)` to preserve values 
containing `=`
   - Added `LRAUrlBuilderTest` with encoding and round-trip tests
   - Added new test cases to `LRASagaRoutesTest` for encoded special characters 
and equals-in-value
   
   ## Test plan
   
   - [x] New `LRAUrlBuilderTest` verifies encoding of special characters, 
round-trip fidelity, and realistic compensation URIs with query parameters
   - [x] New `LRASagaRoutesTest` cases verify `parseQuery()` handles encoded 
`&`, `=`, `+` and preserves values with `=`
   - [x] All 9 tests pass in `mvn verify`
   
   🤖 Generated with [Claude Code](https://claude.ai/code)
   
   Co-Authored-By: Claude Opus 4.6 <[email protected]>


-- 
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