googleapis / googleapis/google-cloud-node
Support POST signed URLs for the S3-compatible XML multipart API
- Dominant language
- TypeScript
- Stars
- 3.2k
- Forks
- 712
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 99
Description
### Library Name
google-cloud-storage
### A screenshot that you have tested with "Try this API".
The high-level `file.getSignedUrl({ action, ... })` helper cannot produce
POST-signed URLs needed for the S3-compatible XML multipart upload API:
- CreateMultipartUpload: POST /bucket/object?uploads
- CompleteMultipartUpload: POST /bucket/object?uploadId=
`action` maps deterministically to a method ('write' → PUT, etc.), with
no public way to override to POST(it does via resumable but then it requires us to pass a header in the post request, not satisfying my use case) The internal `URLSigner` class accepts
a `method` parameter directly and works, but it is not part of the
package's top-level exports, making it impractical to consume.
Equivalent SDKs in Python, .NET, Java, and Go all accept `method`
independently of `action`, so this is a Node-specific gap.
### What would you like to see in the library?
Allow me to pass method(specifically POST) as well in the getSignedUrl, or create a new function where I can do this
### Describe alternatives you've considered
I am manually signing the url with the same algorithm in signer.ts
### Additional context/notes
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.