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
let str = 'a';
for (let i = 0; i < 14; i++) str += str;
res.end(str);
But making it res.end(str + 'a'); makes it throw:
assert.js:89
throw new assert.AssertionError({
^
AssertionError: Frame too large!
at Serializer._transform (/Users/me/afolder/myproject/node_modules/http2/lib/protocol/framer.js:46:3)
at Serializer.Transform._read (_stream_transform.js:167:10)
at Serializer.Transform._write (_stream_transform.js:155:12)
at doWrite (_stream_writable.js:307:12)
at writeOrBuffer (_stream_writable.js:293:5)
at Serializer.Writable.write (_stream_writable.js:220:11)
at Compressor.ondata (_stream_readable.js:556:20)
at emitOne (events.js:96:13)
at Compressor.emit (events.js:188:7)
at readableAddChunk (_stream_readable.js:177:18)
In Node 6.2.1 res.end(str + 'a'); works.
The text was updated successfully, but these errors were encountered:
bjb568
changed the title
AssertionError: Frame too large! in Node 6.3.0 when sending more than 2^16 bytes at once
AssertionError: Frame too large! in Node 6.3.0 when sending more than 2^14 bytes at once
Jul 9, 2016
What happens if you do res.end(str + 'aa') with node 6.3.0? What about newer versions of node (6.3.1 is available, for instance)? Normally I would say this sounds like an off-by-one error in node-http2, but given it works on some versions of node and not on others, I'm more suspicious.
I'm honestly not sure why this EVER worked - we were never limiting DATA
frames to anything less than the flow control window. This fixes that to
take into account the (default) max allowed payload size.
Tested and works fine for me with node 6.4.0
Using Node 6.3.0, this works:
But making it
res.end(str + 'a');
makes it throw:In Node 6.2.1
res.end(str + 'a');
works.The text was updated successfully, but these errors were encountered: