googleapis / googleapis/java-storage
Support `InputStream` as a source of `RequestBody`
- 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