Skip to content

feat(gax): add ResumableUploadClient.startUpload() and supporting types - #14138

Draft
whowes wants to merge 1 commit into
whowes/get-first-headerfrom
whowes/resumable-upload-client
Draft

feat(gax): add ResumableUploadClient.startUpload() and supporting types#14138
whowes wants to merge 1 commit into
whowes/get-first-headerfrom
whowes/resumable-upload-client

Conversation

@whowes

@whowes whowes commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

HTTP/JSON client implementation for startUpload is in #14139.

gemini-code-assist[bot]

This comment was marked as outdated.

@whowes whowes changed the title whowes/resumable upload client feat(gax): add ResumableUploadClient SPI and types Aug 19, 2026
@whowes whowes changed the title feat(gax): add ResumableUploadClient SPI and types feat(gax): add ResumableUploadClient.startUpload() and supporting types Aug 19, 2026
@whowes
whowes force-pushed the whowes/resumable-upload-client branch from c0e396a to 3f2b223 Compare August 19, 2026 23:36
@whowes

whowes commented Aug 20, 2026

Copy link
Copy Markdown
Contributor Author

/gemini review

@whowes
whowes force-pushed the whowes/resumable-upload-client branch from 3f2b223 to dd5cb3e Compare August 20, 2026 00:10

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces low-level resumable upload components to the GAX library, including the ResumableUploadClient interface, the ResumableUploadSession metadata class, and the StartUploadRequest configuration class, along with their corresponding unit tests. The reviewer's feedback suggests a minor readability and performance improvement in StartUploadRequest.Builder to assign the result of getPath() to a local variable instead of invoking the getter multiple times.

@whowes whowes changed the title feat(gax): add ResumableUploadClient.startUpload() and supporting types feat(gax): add ResumableUploadClient.startUpload() and supporting types Aug 20, 2026
@whowes
whowes force-pushed the whowes/resumable-upload-client branch from dd5cb3e to 4758549 Compare August 21, 2026 00:37
@whowes
whowes force-pushed the whowes/resumable-upload-client branch from 4758549 to 0229e07 Compare August 24, 2026 19:40
public interface ResumableUploadClient {

/** Returns a {@link UnaryCallable} to initiate a resumable upload session. */
UnaryCallable<StartUploadRequest, ResumableUploadSession> startUploadCallable();

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are there any proto messages defined for the resumable upload requests? So that we don't have to define Java POJOs for them?

@whowes whowes Aug 25, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't believe there are for the general protocol since it's natively HTTP and header-driven - happy to be corrected if I'm wrong since it'd be nice to not have to define all these AutoValue classes :)

@whowes
whowes force-pushed the whowes/resumable-upload-client branch from 0229e07 to fad9e9c Compare August 25, 2026 01:03
@sonarqubecloud

Copy link
Copy Markdown

@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed for 'gapic-generator-java-root'

Failed conditions
0.0% Coverage on New Code (required ≥ 80%)

See analysis details on SonarQube Cloud

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants