feat(storage): enhance StorageTransport retry logic and parameter serialization#8119
feat(storage): enhance StorageTransport retry logic and parameter serialization#8119thiyaguk09 wants to merge 6 commits intogoogleapis:storage-node-18from
Conversation
There was a problem hiding this comment.
Code Review
This pull request refactors the storage library to centralize request handling through storageTransport, updates API endpoints to include the /storage/v1 prefix, and significantly enhances the default retry logic with granular idempotency checks based on HTTP methods and preconditions. Key improvements include standardized URL encoding for resource names, a custom query parameter serializer for repeated keys, and refined encryption header management. However, several issues were identified: the isPublic method now incorrectly uses authenticated requests, which defeats its purpose of checking anonymous access; interceptors may no longer be applied correctly due to the transport refactor; and mutating response data objects to include metadata poses risks for non-extensible types. Additionally, the retry logic's path matching should be more specific to avoid false positives with bucket names.
0ff24df to
2b820b7
Compare
- Move legacy Service functionality to StorageTransport - Fix interceptor binding between Gaxios and AuthClient - Remove superseded interceptors in Bucket and File - Improve retry logic for rate-limited GCS responses
Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
Fixes #<issue_number_goes_here> 🦕