http2: replace unreachable error with assertion
"That particular `emit('error', ...)` is largely defensively coded and should not ever actually happen." Sounds like an assertion rather than an error event. The code in question has no test coverage because it is believed to be unreachable. Fixes: https://github.com/nodejs/node/issues/20673 PR-URL: https://github.com/nodejs/node/pull/24407 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
This commit is contained in:
parent
7ba83e893e
commit
566a694bbc
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
|
||||
const assert = require('assert');
|
||||
const Stream = require('stream');
|
||||
const Readable = Stream.Readable;
|
||||
const binding = internalBinding('http2');
|
||||
@ -331,15 +332,12 @@ class Http2ServerRequest extends Readable {
|
||||
|
||||
_read(nread) {
|
||||
const state = this[kState];
|
||||
if (!state.closed) {
|
||||
if (!state.didRead) {
|
||||
state.didRead = true;
|
||||
this[kStream].on('data', onStreamData);
|
||||
} else {
|
||||
process.nextTick(resumeStream, this[kStream]);
|
||||
}
|
||||
assert(!state.closed);
|
||||
if (!state.didRead) {
|
||||
state.didRead = true;
|
||||
this[kStream].on('data', onStreamData);
|
||||
} else {
|
||||
this.emit('error', new ERR_HTTP2_INVALID_STREAM());
|
||||
process.nextTick(resumeStream, this[kStream]);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user