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
{{ message }}
This repository was archived by the owner on Jan 13, 2021. It is now read-only.
Repository navigation
This repository was archived by the owner on Jan 13, 2021. It is now read-only.
Right now if we get an unexpected GOAWAY we print this in the exception hyper.http20.exceptions.ConnectionError: Encountered error 12, extra data b''.. This is fine, but we can do better.
We should bring in the error code registry from the spec so that we can print something more like this: hyper.http20.exceptions.ConnectionError: Error INADEQUATE_SECURITY (0xc): Negotiated TLS parameters not acceptable.
Ideally, the exception itself should be more structured, allowing easy access to numerical error codes, textual error names, long-form error descriptions, and the extra data.
I suspect the format string is roughly going to be "Error {s:name} ({d:errno}): {s:long_error}", where long_error is the extra data if it's available, and the description from the spec if it's not available.
@Lukasa: we could have all the 14 error codes and descriptions loaded in some static array (see spec) and then just use the error code to index into it.
The file could be called error_code.py and be kept under hyper.http20, any comments?
Thanks works well. I don't think the frame itself should know about error code meanings. What you should do, however, is tolerate error codes outside the registry without exploding. =)
Activity
jdecuyper commentedon Apr 30, 2015
@Lukasa: we could have all the 14 error codes and descriptions loaded in some static array (see spec) and then just use the error code to index into it.
The file could be called
error_code.pyand be kept underhyper.http20, any comments?Lukasa commentedon May 1, 2015
Sounds good to me!
jdecuyper commentedon May 4, 2015
@Lukasa hola amigo!
I'm wondering if this is the way I should throw the
GoAwayerror:Where
H2_ERROR_CODE_REGISTRYis the new array containing all the error codes I have just added.Should we make the error information available via the frame itself or have another exception for this?
I will try to add a new test that consumes a
GoAwayframe.Lukasa commentedon May 5, 2015
Thanks works well. I don't think the frame itself should know about error code meanings. What you should do, however, is tolerate error codes outside the registry without exploding. =)