[
https://issues.apache.org/jira/browse/CAMEL-24765?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrea Cosentino resolved CAMEL-24765.
--------------------------------------
Resolution: Fixed
> camel-huaweicloud-functiongraph: include the region in the invoke URN when
> endpoint is set, and read the response body robustly
> -------------------------------------------------------------------------------------------------------------------------------
>
> Key: CAMEL-24765
> URL: https://issues.apache.org/jira/browse/CAMEL-24765
> Project: Camel
> Issue Type: Bug
> Reporter: Andrea Cosentino
> Assignee: Andrea Cosentino
> Priority: Major
> Fix For: 4.23.0
>
>
> Two functional issues in camel-huaweicloud-functiongraph, found by a gap
> audit (verified against main):
> * The ClientConfigurations constructor sets EITHER endpoint OR region (if
> endpoint is set, region is never copied, even when the user also set region).
> composeUrn then formats urn:fss:%s:... with a null region, producing
> urn:fss:null:<projectId>:function:... which FunctionGraph rejects. Any route
> configured with the endpoint URI param invokes with a malformed URN. Fix:
> populate region independently of the endpoint/region client-init choice so
> the URN always carries the region when it was supplied.
> * FunctionGraphUtils.extractJsonFieldAsString reads the response body via
> gson.fromJson(json, JsonObject.class).getAsJsonObject("body").toString(),
> which throws ClassCastException when body is a JSON string/primitive (the
> normal shape for HTTP-triggered functions) and NPE when body is absent. Fix:
> fetch the element with get(), null-check it, and stringify it directly.
> Also fixes the proxy guard that used ObjectHelper.isNotEmpty(getProxyPort())
> on a primitive int (always true) so a proxyHost with no proxyPort configured
> a proxy on port 0.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)