inspector: response.setEncoding() causes response.on('data') never triggered when --experimental-network-inspection is enabled
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- JavaScript
- Sterne
- 122k
- Forks
- 37.3k
- Ø Merge
- 4 T. 2 Std.
- Gemergte PRs (30 T.)
- 283
Beschreibung
Version
v24.17.0
Platform
Windows 11 x64 (10.0.26200)
Subsystem
No response
What steps will reproduce the bug?
When experimental network inspection is enabled, calling response.setEncoding() on an http.IncomingMessage causes Node Inspector to throw exception.
The exception interrupts normal stream processing. response.on("data") callback never triggered.
const http = require('http');
http.get("http://example.com", (response) => {
response.setEncoding("utf8");
response.on("data", chunk => {
console.log(chunk);
});
response.on("end", () => {
console.log("end");
process.exit(0);
});
});
Run node --inspect --experimental-network-inspection main.js then open any inspector frontend (Chrome DevTools).
How often does it reproduce? Is there a required condition?
When network inspection feature enabled.
What is the expected behavior? Why is that the expected behavior?
Network inspection should continue to work regardless of whether response.setEncoding() is used.
What do you see instead?
Nodejs throws exception and interrupts normal stream processing. response.on("data") callback never triggered.
Additional information
VSCode extension debugging host enables this feature and breaks my extension development. Waste 2 days to find out why every http request got empty response.
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Führe zunächst das bereitgestellte HTTP-Beispiel mit node --inspect --experimental-network-inspection main.js und einem Inspector-Frontend aus und erfasse anschließend die durch response.setEncoding() ausgelöste Ausnahme. Verfolge die Verarbeitung der Netzwerkinspektion, die den Stream unterbricht; abgeschlossen ist die Aufgabe, wenn die data- und end-Callbacks bei aktivierter Kodierung normal ausgeführt werden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- javascript, node.js
- Bereich
- backend, devtools
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 52/100