Croway opened a new pull request, #22404:
URL: https://github.com/apache/camel/pull/22404
## Summary
- Fix `YamlRoutesBuilderLoader.extractCamelEndpointUri()` where Pipe YAML
Kamelet properties containing `{{placeholder}}` patterns get URL-encoded to
`%7B%7Bplaceholder%7D%7D` by `URISupport.createQueryString(params)`, preventing
property resolution at runtime.
- Wrap property placeholder values with `RAW(...)` before calling
`createQueryString` so that curly braces are preserved as-is in the query
string.
## Details
**JIRA:** [CAMEL-23284](https://issues.apache.org/jira/browse/CAMEL-23284)
When a Pipe YAML definition includes Kamelet properties with Camel property
placeholders (e.g., `{{timer.message}}`), the `extractCamelEndpointUri` method
builds a query string using `URISupport.createQueryString(params)`. This method
URL-encodes special characters, turning `{{` and `}}` into `%7B%7B` and
`%7D%7D` respectively. As a result, the Camel property placeholder resolver
cannot recognize or resolve these values.
The fix iterates over the `params` map entries before query string creation
and wraps any `String` value containing `{{` with `RAW(...)`. The `RAW()`
marker tells Camel's URI support to preserve the value as-is without
URL-encoding.
## Test plan
- [ ] Verify that Pipe YAML definitions with `{{placeholder}}` Kamelet
properties resolve correctly at runtime
- [ ] Verify that Kamelet properties without placeholders are unaffected
🤖 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]