googleapis / googleapis/google-api-nodejs-client

Trying to download large email (>20MB) does not return from the call (no error, no timeout) when options http2: true

Offen
#3,108 0 Kommentare 2 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
priority: p2 type: bug
Vorherrschende Sprache
TypeScript
Sterne
12.3k
Forks
2k
Ø Merge
1 T. 9 Std.
Gemergte PRs (30 T.)
24

Beschreibung

#### Environment details

- OS: Linux / Macos
- Node.js version: v18.10.0
- npm version: 8.19.2
- `googleapis` version: 105/109.0.1

#### Steps to reproduce

1. Get a large email from Google API with the options `{http2: false}`
2. The application is stuck: The function call never returns, there is no error or timeout.

Whole request:
```
gmail.users.messages.get({
format: 'raw',
id,
userId: 'me',
},
{http2: true})
```
Notes:

Making the same request using the [Try this API](https://developers.google.com/gmail/api/reference/rest/v1/users.messages/get?apix_params=%7B%22userId%22%3A%22me%22%2C%22id%22%3A%2217d1d453987522ef%22%2C%22format%22%3A%22raw%22%7D#http-request)

Making the same request with the `{http2: false}` option works as well, but since the batch request is not part of the library anymore, it would make the inbox synchronisation too slow.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne damit, die Gmail users.messages.get-Anfrage für eine E-Mail mit mehr als 20 MB unter Node.js v18.10.0 mit der Option {http2: true} zu reproduzieren, und vergleiche sie anschließend mit {http2: false}. Als erledigt gilt die Aufgabe, wenn der HTTP/2-Aufruf erfolgreich zurückkehrt oder einen Fehler oder Timeout meldet, anstatt hängen zu bleiben; die Payload nennt keine Quelldatei und keinen Test.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
node.js, typescript
Bereich
api, networking
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.