Claus Ibsen created CAMEL-26244:
-----------------------------------
Summary: camel-google-drive - drive-files/export always returns a
null body, so the exported content cannot be downloaded
Key: CAMEL-26244
URL: https://issues.apache.org/jira/browse/CAMEL-26244
Project: Camel
Issue Type: Bug
Components: camel-google-drive
Reporter: Claus Ibsen
Fix For: 4.24.0
Found while adding the catalog body types of google-drive (CAMEL-24961, PR
#28403).
h4. 1. drive-files/export always returns a null body
{{Drive.Files.Export}} is an {{AbstractGoogleClientRequest<Void>}} whose
content is only reachable through {{executeMedia...}}.
{{GoogleDriveProducer.doInvokeMethod}} (main 2a465aa4814c, line 51) only calls
{{request.execute()}}, which returns null, so the body after drive-files/export
is always null and there is no way to get the exported document. Checked on
4.24.0-SNAPSHOT with a fake {{MockHttpTransport}} client set through
{{clientFactory}}.
Proposed: for media requests (export, and get with {{alt=media}}) return the
content, e.g. {{executeMediaAsInputStream()}} as the body.
h4. 2. FileConverterIT uses drive-files/insert, which Drive v3 does not have
{{FileConverterIT}} (line 71) sends to
{{google-drive://drive-files/insert?inBody=content}}; the Drive v3 API has
{{create}}, not {{insert}}, so the IT is stale and cannot pass. Read in the
code, not run.
Proposed: use drive-files/create with the inBody parameter name the method has.
_Claude Code on behalf of davsclaus_
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)