Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Compression middleware changes behavior of undefined statusText in writeHead

Aperta
#254 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
62/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
javascript, node.js
Ambito
backend

Direzione di ricerca

Esegui la riproduzione allegata con npm install e node pure-node-compression-test.js, confrontando il middleware di compressione con e senza compressione e con un testo di stato undefined o di tipo stringa. Traccia il modo in cui il middleware gestisce response.writeHead(200, undefined, {'foo': 'bar'}); il lavoro è completo quando gli header vengono impostati in modo coerente quando statusText è undefined.

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

Descrizione

bug

Environment information

Version: Compression 1.8.1

Platform: MacOS 15.6

Node.js version: 22.15.1

Any other relevant information:

What steps will reproduce the bug?

  1. Setup a node server with the compression middleware. You can also set the filter method to always return false, to ensure it's not doing any compression.
  2. In the response handler, call response.writeHead(200, undefined, {'foo': 'bar'}). The status code and headers are not important. The important part is the undefined status text

Observe how the response headers are not getting set at all.
If you change the status text from undefined to any string, the headers do get set.
If you leave the undefined status text, but remove the compression middleware, the headers do get set.

I've attached a repro case showing this. Just npm install and then run the test with node pure-node-compression-test.js

compression-repro.zip

Lingua principale
JavaScript
Stelle
2.8k
Fork
257
Merge medio
2g 51m
PR unite (30g)
1

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di expressjs/compression

Tutte le issue di expressjs/compression

Issue simili

Altre issue su JavaScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.