node-fetch 2.x causes "Premature close" errors with Cloudflare-proxied responses
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 45/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- node.js, typescript
Direzione di ricerca
Esegui la riproduzione mostrata di basicApi.getPage e confrontala con apiRequest() usando Accept-Encoding: identity. Quindi traccia la dipendenza dell’SDK e il percorso della richiesta del metodo API generato; il risultato deve essere una correzione supportata che impedisca l’errore di chiusura prematura segnalato senza richiedere ai chiamanti di cambiare punto di ingresso.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Our Hubspot API requests started to fail loading deals this morning after cloudflare updated one of their PoPs
The SDK depends on node-fetch@^2.6.0 which has known, unfixed bugs handling chunked gzip responses (node-fetch#1767, node-fetch#1576). It seems a change in Cloudflare now causes ERR_STREAM_PREMATURE_CLOSE errors for SDK consumers with no code change on their side.
Environment
@hubspot/api-client: 13.5.0- Node.js: 24.17.0 (but also affects 18+)
- Runtime: Kubernetes pod (linux/amd64)
- Region: Cloudflare TXL (Berlin) PoP
Reproduction
const hubspot = require('@hubspot/api-client');
const client = new hubspot.Client({ accessToken: process.env.HUBSPOT_ACCESS_TOKEN });
// This fails with "Premature close"
client.crm.deals.basicApi.getPage(100, undefined, ['dealname'], undefined, ['companies'])
.then(r => console.log('OK:', r.results.length))
.catch(e => console.error('FAILED:', e.type, e.message));
We switched from basicApi.getPage() to client.apiRequest() with defaultHeaders: { 'Accept-Encoding': 'identity' } to bypass the gzip decompression path for now.
Note that defaultHeaders set on the Client constructor do not propagate to the generated API methods (basicApi.*, ownersApi.*, etc.), they only apply to apiRequest() calls.
- Lingua principale
- TypeScript
- Stelle
- 402
- Fork
- 116
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Non abbiamo ancora controllato i file di configurazione di questo progetto. Parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di HubSpot/hubspot-api-nodejs
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
HubSpot/hubspot-api-nodejs#684 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
HubSpot/hubspot-api-nodejs#696 · 1 commento ·
-
Difficoltà 3/5 3-5 giorni Idoneità per principianti 52/100
HubSpot/hubspot-api-nodejs#695 · 1 commento ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
HubSpot/hubspot-api-nodejs#690 · 2 reazioni ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
HubSpot/hubspot-api-nodejs#689 · 1 commento · 2 reazioni ·
Tutte le issue di HubSpot/hubspot-api-nodejs
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
rohitg00/agentmemory#1428 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
boxlite-ai/boxlite#1729 ·
I maintainer di solito rispondono entro 1 giorno
-
detectors enhancement good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
SM260845/readme-gen#1 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
angular/angularfire#3774 ·
I maintainer di solito rispondono entro 2 giorni