[ 
https://issues.apache.org/jira/browse/CAMEL-24349?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Work on CAMEL-24349 started by Andrea Cosentino.
------------------------------------------------
> camel-google-functions: createFunction fails with an opaque NPE when required 
> headers are missing
> -------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-24349
>                 URL: https://issues.apache.org/jira/browse/CAMEL-24349
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-google-functions
>            Reporter: Andrea Cosentino
>            Assignee: Andrea Cosentino
>            Priority: Minor
>
> {{createFunction}} passes header values straight into protobuf setters:
> {code:java}
> // GoogleCloudFunctionsProducer.java:185-193
> final String entryPoint = 
> exchange.getIn().getHeader(GoogleCloudFunctionsConstants.ENTRY_POINT, 
> String.class);
> final String runtime = 
> exchange.getIn().getHeader(GoogleCloudFunctionsConstants.RUNTIME, 
> String.class);
> final String sourceArchiveUrl = 
> exchange.getIn().getHeader(GoogleCloudFunctionsConstants.SOURCE_ARCHIVE_URL, 
> String.class);
> CloudFunction function = CloudFunction.newBuilder()
>         .setName(...).setEntryPoint(entryPoint)
>         
> .setRuntime(runtime).setHttpsTrigger(HttpsTrigger.getDefaultInstance())
>         .setSourceArchiveUrl(sourceArchiveUrl).build();
> {code}
> Protobuf setters reject null, so a missing header produces a bare NPE instead 
> of a message naming the header that is required.
> Also {{listFunctions}} (:96-101) sets {{setPageSize(Integer.MAX_VALUE)}} 
> while already iterating with {{iterateAll()}}, which handles pagination 
> itself - the explicit page size should be dropped or set to a value the API 
> accepts.
> Found during a source audit of the {{components/camel-google}} module family 
> against main @ c3b01310be15.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to