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]

Reply via email to