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 has been 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.
The text was updated successfully, but these errors were encountered:
@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. =)
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}"
, wherelong_error
is the extra data if it's available, and the description from the spec if it's not available.The text was updated successfully, but these errors were encountered: