You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Platform: Linux solus 5.1.14-121.current deps: update openssl to 1.0.1j #1 SMP PREEMPT Sun Jun 23 13:57:07 UTC 2019 x86_64 GNU/Linux
Subsystem: http2
consthttp2=require('http2');try{constsession=http2.connect('https://example.com',{settings: {maxFrameSize: 1}});session.on('error',error=>{console.log('Captured an error.');});}catch(error){console.log('Captured an error.');}
internal/http2/util.js:521
throw new ERR_HTTP2_INVALID_SETTING_VALUE.RangeError(
^
RangeError [ERR_HTTP2_INVALID_SETTING_VALUE]: Invalid value for setting "maxFrameSize": 1
at ClientHttp2Session.settings (internal/http2/core.js:1156:5)
at ClientHttp2Session.setupHandle (internal/http2/core.js:861:8)
at Object.onceWrapper (events.js:291:20)
at TLSSocket.emit (events.js:203:13)
at TLSSocket.onConnectSecure (_tls_wrap.js:1346:10)
at TLSSocket.emit (events.js:203:13)
at TLSSocket._finishInit (_tls_wrap.js:792:8)
at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:606:12) {
actual: 1,
min: 16384,
max: 16777215
}
maxFrameSize <number> Specifies the size of the largest frame payload. The minimum allowed value is 16,384. The maximum allowed value is 224-1. Default: 16,384 bytes.
TLSWrap.ssl.onhandshakedone called in next tick and lost current context. More related example:
consttls=require('tls');try{constsession=tls.connect(443,'example.com',()=>{thrownewError('Not captured');});session.on('error',error=>{console.log('Captured an error',error);});}catch(error){console.log('Captured an error',error);}
See it on RunKit.
Actual behavior
Expected behavior
Possible solution
It's thrown from here:
node/lib/internal/http2/core.js
Line 975 in 98d8ed6
I think it needs to be like: