googleapis / googleapis/java-storage

Support `InputStream` as a source of `RequestBody`

Ouverte
#3,554 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
api: storage
Langage dominant
Java
Étoiles
141
Forks
93
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

**Is your feature request related to a problem? Please describe.**
Currently `RequestBody` can only be constructed from `ByteBuffer`. If a caller wants to supply data from an `InputStream` this API forces an allocation and copy of the data in the stream into an intermediate buffer.

**Describe the solution you'd like**
I would like to be able to create `RequestBody` from an `InputStream`. It seems that `mark` and `reset` functionality can be used to implement rewinding in `RewindableContent`.

**Describe alternatives you've considered**
I can use an intermediate buffer solution and it works but it's not ideal.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par localiser l’API de construction de RequestBody et l’implémentation de RewindableContent, puis comparez la manière dont la source ByteBuffer existante est gérée. Déterminez le comportement mark/reset requis pour un InputStream et vérifiez que la nouvelle source évite la copie intermédiaire tout en restant rewindable.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java
Domaine
api
Type d'issue
Fonctionnalité
Difficulté
4/5
Temps estimé
3-5 jours
Activité
Calme
Clarté
Plutôt claire
Accessibilité débutants
55/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.