Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Order of response frames #93

Open
ioquatix opened this issue Aug 19, 2018 · 0 comments
Open

Order of response frames #93

ioquatix opened this issue Aug 19, 2018 · 0 comments

Comments

@ioquatix
Copy link

Hello, thanks for your help.

Async::HTTP::Protocol::HTTP2::Server new write_frame: class=HTTP::Protocol::HTTP2::SettingsFrame flags=0 length=24
Async::HTTP::Protocol::HTTP2::Server new read_frame: class=HTTP::Protocol::HTTP2::SettingsFrame flags=0 length=6
6 > 16383
Async::HTTP::Protocol::HTTP2::Server new write_frame: class=HTTP::Protocol::HTTP2::SettingsFrame flags=1 length=0
Async::HTTP::Protocol::HTTP2::Server new read_frame: class=HTTP::Protocol::HTTP2::SettingsFrame flags=1 length=0
0 > 16383
Async::HTTP::Protocol::HTTP2::Server open read_frame: class=HTTP::Protocol::HTTP2::HeadersFrame flags=4 length=15
15 > 1048576
Async::HTTP::Protocol::HTTP2::Server open write_frame: class=HTTP::Protocol::HTTP2::HeadersFrame flags=4 length=37
Async::HTTP::Protocol::HTTP2::Server open write_frame: class=HTTP::Protocol::HTTP2::DataFrame flags=0 length=11
Async::HTTP::Protocol::HTTP2::Server open write_frame: class=HTTP::Protocol::HTTP2::DataFrame flags=1 length=0
Async::HTTP::Protocol::HTTP2::Server open read_frame: class=HTTP::Protocol::HTTP2::DataFrame flags=1 length=1048577
1048577 > 1048576
Async::HTTP::Protocol::HTTP2::Server open write_frame: class=HTTP::Protocol::HTTP2::GoawayFrame flags=0 length=48

I am running

x_x > ./h2spec --host localhost --port 9292 --tls http2/4.2/2
Hypertext Transfer Protocol Version 2 (HTTP/2)
  4. HTTP Frames
    4.2. Frame Size
      × 2: Sends a large size DATA frame that exceeds the SETTINGS_MAX_FRAME_SIZE
        -> The endpoint MUST send an error code of FRAME_SIZE_ERROR.
           Expected: GOAWAY Frame (Error Code: FRAME_SIZE_ERROR)
                     RST_STREAM Frame (Error Code: FRAME_SIZE_ERROR)
                     Connection closed
             Actual: DATA Frame (length:0, flags:0x01, stream_id:1)

This happens because I send a response before reading the request data, because that response does not require request body.

It seems like h2spec should be capable of consuming valid frames until finally GOAWAY, RST_STREAM, etc is received. WDYT?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant