googleapis / googleapis/google-api-nodejs-client

Trying to download large email (>5MB) throws when options http2: true

Aperta
#3,109 3 commenti 4 reazioni 0 assegnatari Vedi su GitHub
priority: p2 type: bug
Lingua principale
TypeScript
Stelle
12.2k
Fork
2k
Merge medio
1g 9h
PR unite (30g)
24

Descrizione

#### 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 function returns the following error:

```
Could not download email 17d03869ffcd2de1 Error: unexpected end of file
at Zlib.zlibOnError [as onerror] (node:zlib:189:17)
at Zlib.callbackTrampoline (node:internal/async_hooks:130:17) {
errno: -5,
code: 'Z_BUF_ERROR'
}

```

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%2217d03869ffcd2de1%22%2C%22format%22%3A%22raw%22%7D)

Making the same request with the {http2: false} option works as well.

Possibly related with:
#3108

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia riproducendo il download di un messaggio raw di Gmail API con un’email di grandi dimensioni in Node.js, confrontando l’impostazione http2 documentata con HTTP/1.1; i passaggi e il titolo dell’issue sono in conflitto sul fatto che http2 sia true o false. Esamina l’issue correlata #3108 e identifica la gestione della risposta HTTP/2 prima di definire un test di regressione e confermare che i download di grandi dimensioni vengano completati senza l’errore zlib.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
nodejs, typescript
Ambito
api, networking
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
28/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.