Optimize TUS upload: remove redundant HEAD request #68
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Optimize TUS upload: remove redundant HEAD request
Description
This PR optimizes the TUS upload flow by removing a redundant
HEADrequest that was previously performed immediately after creating a new upload.Context
The TUS protocol (v1.0.0) specifies that the
POSTrequest used to create an upload resource may return theUpload-Offsetheader (usually 0 for new uploads). Previously, our client ignored this header and always performed a subsequentHEADrequest to fetch the offset before starting the upload.Changes
CreateTusUploadRemoteOperation: Now parses theUpload-Offsetheader from the creation response and returns it along with the upload URL.TusUploadHelper: Uses the offset returned from the creation step directly. The separateHEADrequest is now only performed if we are resuming an existing upload (where we don't have a fresh creation response) or if the creation response didn't provide an offset.TusIntegrationTestto verify the new return type and behavior.Benefits
Code Explanation
CreateTusUploadRemoteOperation.ktTusUploadHelper.ktTusIntegrationTest.kt