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]