googleapis / googleapis/google-cloud-node
Support POST signed URLs for the S3-compatible XML multipart API
- Lingua principale
- TypeScript
- Stelle
- 3.2k
- Fork
- 712
- Merge medio
- 2g 9h
- PR unite (30g)
- 104
Descrizione
### 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_
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia leggendo signer.ts e seguendo il modo in cui file.getSignedUrl associa i valori di action ai metodi di firma. Determina come l’API pubblica dovrebbe accettare POST indipendentemente da action, quindi verifica che gli URL generati supportino le richieste CreateMultipartUpload e CompleteMultipartUpload descritte nell’issue.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- google-cloud, nodejs, typescript
- Ambito
- api, backend-api-design, cloud
- Tipo di issue
- Funzionalità
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Tranquilla
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 48/100