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

hyper library is no longer maintained #28784

Closed
foolip opened this issue May 3, 2021 · 1 comment · Fixed by #33113
Closed

hyper library is no longer maintained #28784

foolip opened this issue May 3, 2021 · 1 comment · Fixed by #33113

Comments

@foolip
Copy link
Member

foolip commented May 3, 2021

https://github.com/python-hyper/hyper is archived:

This project is no longer maintained!

Please use an alternative, such as HTTPX or others.

We will not publish further updates for hyper.

Potential security issues will not be addressed.

It looks like we only use it one single place:

from hyper import HTTP20Connection, tls

Noticed because hyper 0.7.0 requires a version of h2 incompatible with what we're already using:
https://github.com/python-hyper/hyper/blob/b77e758f472f00b098481e3aa8651b0808524d84/setup.py#L80

This isn't a problem as long as we keep a copy of hyper in tools/third_party/, but I noticed it when experimenting with pipenv.

@foolip foolip added the infra label May 3, 2021
@foolip
Copy link
Member Author

foolip commented May 3, 2021

cc @dhdavvie

foolip added a commit that referenced this issue Mar 18, 2022
hyper is no longer maintained, and doesn't work with Python 3.10.

The vendored hyper is removed entirely, and replaced by httpx installed
using pip.

Tests are updated, mostly in trivial ways. A few cases are interesting:

 - When httpx is used to POST, `handle_data` ends up called two times
   instead of once, first with the data, and then with an empty byte
   string. Whether this is an httpx bug or not, test_h2_data.py and
   test_h2_headers_data.py are adapted to deal with this, and changed to
   case-swap the input instead so that no buffering is needed.

 - `test_encode` previously failed an assert in the handler, but the
   response wasn't checked at all, so this wasn't noticed.

 - `test_push` is dropped since it can't be tested using httpx.

 - `test_raw_header_frame_invalid` is dropped since it ends up testing
   the error handling of the client, and httpx doesn't treat this input
   as an error. A better test would just check what bytes were sent over
   the wire, but don't bother, it's more work than seems justified.

 - `test_http_version` is added to make sure these tests keep using
   HTTP/2 even if httpx behavior changes in the future.

Fixes #28784.
Fixes #31315.
jgraham pushed a commit that referenced this issue Mar 22, 2022
hyper is no longer maintained, and doesn't work with Python 3.10.

The vendored hyper is removed entirely, and replaced by httpx installed
using pip.

Tests are updated, mostly in trivial ways. A few cases are interesting:

 - When httpx is used to POST, `handle_data` ends up called two times
   instead of once, first with the data, and then with an empty byte
   string. Whether this is an httpx bug or not, test_h2_data.py and
   test_h2_headers_data.py are adapted to deal with this, and changed to
   case-swap the input instead so that no buffering is needed.

 - `test_encode` previously failed an assert in the handler, but the
   response wasn't checked at all, so this wasn't noticed.

 - `test_push` is dropped since it can't be tested using httpx.

 - `test_raw_header_frame_invalid` is dropped since it ends up testing
   the error handling of the client, and httpx doesn't treat this input
   as an error. A better test would just check what bytes were sent over
   the wire, but don't bother, it's more work than seems justified.

 - `test_http_version` is added to make sure these tests keep using
   HTTP/2 even if httpx behavior changes in the future.

Fixes #28784.
Fixes #31315.
moz-v2v-gh pushed a commit to mozilla/gecko-dev that referenced this issue Mar 26, 2022
…hyper, a=testonly

Automatic update from web-platform-tests
Use httpx for wptserve tests instead of hyper

hyper is no longer maintained, and doesn't work with Python 3.10.

The vendored hyper is removed entirely, and replaced by httpx installed
using pip.

Tests are updated, mostly in trivial ways. A few cases are interesting:

 - When httpx is used to POST, `handle_data` ends up called two times
   instead of once, first with the data, and then with an empty byte
   string. Whether this is an httpx bug or not, test_h2_data.py and
   test_h2_headers_data.py are adapted to deal with this, and changed to
   case-swap the input instead so that no buffering is needed.

 - `test_encode` previously failed an assert in the handler, but the
   response wasn't checked at all, so this wasn't noticed.

 - `test_push` is dropped since it can't be tested using httpx.

 - `test_raw_header_frame_invalid` is dropped since it ends up testing
   the error handling of the client, and httpx doesn't treat this input
   as an error. A better test would just check what bytes were sent over
   the wire, but don't bother, it's more work than seems justified.

 - `test_http_version` is added to make sure these tests keep using
   HTTP/2 even if httpx behavior changes in the future.

Fixes web-platform-tests/wpt#28784.
Fixes web-platform-tests/wpt#31315.

--

wpt-commits: 05ae936451baacd34744c539ad34388617e12190
wpt-pr: 33113
moz-v2v-gh pushed a commit to mozilla/gecko-dev that referenced this issue Mar 27, 2022
…hyper, a=testonly

Automatic update from web-platform-tests
Use httpx for wptserve tests instead of hyper

hyper is no longer maintained, and doesn't work with Python 3.10.

The vendored hyper is removed entirely, and replaced by httpx installed
using pip.

Tests are updated, mostly in trivial ways. A few cases are interesting:

 - When httpx is used to POST, `handle_data` ends up called two times
   instead of once, first with the data, and then with an empty byte
   string. Whether this is an httpx bug or not, test_h2_data.py and
   test_h2_headers_data.py are adapted to deal with this, and changed to
   case-swap the input instead so that no buffering is needed.

 - `test_encode` previously failed an assert in the handler, but the
   response wasn't checked at all, so this wasn't noticed.

 - `test_push` is dropped since it can't be tested using httpx.

 - `test_raw_header_frame_invalid` is dropped since it ends up testing
   the error handling of the client, and httpx doesn't treat this input
   as an error. A better test would just check what bytes were sent over
   the wire, but don't bother, it's more work than seems justified.

 - `test_http_version` is added to make sure these tests keep using
   HTTP/2 even if httpx behavior changes in the future.

Fixes web-platform-tests/wpt#28784.
Fixes web-platform-tests/wpt#31315.

--

wpt-commits: 05ae936451baacd34744c539ad34388617e12190
wpt-pr: 33113
aosmond pushed a commit to aosmond/gecko that referenced this issue Mar 28, 2022
…hyper, a=testonly

Automatic update from web-platform-tests
Use httpx for wptserve tests instead of hyper

hyper is no longer maintained, and doesn't work with Python 3.10.

The vendored hyper is removed entirely, and replaced by httpx installed
using pip.

Tests are updated, mostly in trivial ways. A few cases are interesting:

 - When httpx is used to POST, `handle_data` ends up called two times
   instead of once, first with the data, and then with an empty byte
   string. Whether this is an httpx bug or not, test_h2_data.py and
   test_h2_headers_data.py are adapted to deal with this, and changed to
   case-swap the input instead so that no buffering is needed.

 - `test_encode` previously failed an assert in the handler, but the
   response wasn't checked at all, so this wasn't noticed.

 - `test_push` is dropped since it can't be tested using httpx.

 - `test_raw_header_frame_invalid` is dropped since it ends up testing
   the error handling of the client, and httpx doesn't treat this input
   as an error. A better test would just check what bytes were sent over
   the wire, but don't bother, it's more work than seems justified.

 - `test_http_version` is added to make sure these tests keep using
   HTTP/2 even if httpx behavior changes in the future.

Fixes web-platform-tests/wpt#28784.
Fixes web-platform-tests/wpt#31315.

--

wpt-commits: 05ae936451baacd34744c539ad34388617e12190
wpt-pr: 33113
aosmond pushed a commit to aosmond/gecko that referenced this issue Mar 28, 2022
…hyper, a=testonly

Automatic update from web-platform-tests
Use httpx for wptserve tests instead of hyper

hyper is no longer maintained, and doesn't work with Python 3.10.

The vendored hyper is removed entirely, and replaced by httpx installed
using pip.

Tests are updated, mostly in trivial ways. A few cases are interesting:

 - When httpx is used to POST, `handle_data` ends up called two times
   instead of once, first with the data, and then with an empty byte
   string. Whether this is an httpx bug or not, test_h2_data.py and
   test_h2_headers_data.py are adapted to deal with this, and changed to
   case-swap the input instead so that no buffering is needed.

 - `test_encode` previously failed an assert in the handler, but the
   response wasn't checked at all, so this wasn't noticed.

 - `test_push` is dropped since it can't be tested using httpx.

 - `test_raw_header_frame_invalid` is dropped since it ends up testing
   the error handling of the client, and httpx doesn't treat this input
   as an error. A better test would just check what bytes were sent over
   the wire, but don't bother, it's more work than seems justified.

 - `test_http_version` is added to make sure these tests keep using
   HTTP/2 even if httpx behavior changes in the future.

Fixes web-platform-tests/wpt#28784.
Fixes web-platform-tests/wpt#31315.

--

wpt-commits: 05ae936451baacd34744c539ad34388617e12190
wpt-pr: 33113
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant