❯ ~/h2spec -t -k -p 8443 http2/4
Hypertext Transfer Protocol Version 2 (HTTP/2)
4. HTTP Frames
4.1. Frame Format
✔ 1: Sends a frame with unknown type
✔ 2: Sends a frame with undefined flag
✔ 3: Sends a frame with reserved field bit
4.2. Frame Size
✔ 1: Sends a DATA frame with 2^14 octets in length
✔ 2: Sends a large size DATA frame that exceeds the SETTINGS_MAX_FRAME_SIZE
✔ 3: Sends a large size HEADERS frame that exceeds the SETTINGS_MAX_FRAME_SIZE
4.3. Header Compression and Decompression
✔ 1: Sends invalid header block fragment
✔ 2: Sends a PRIORITY frame while sending the header blocks
✔ 3: Sends a HEADERS frame to another stream while sending the header blocks
Finished in 0.0538 seconds
9 tests, 9 passed, 0 skipped, 0 failed
details
Fix MAX_FRAME_SIZE
Handle error when frame exceed
Change the default size to respect spec
Fix COMPRESSION
COMPRESSION_ERROR is a GoAway
Change error system to handle GoAway error
Remove the stream on the GoAway frame header because, "the GOAWAY frame applies to the connection, not a specific stream."
Fix wrong frame ( wrong type or wrong stream ) while receiving HEADERS
This PR handles the section 4 of the http2 spec
details