Commit Graph

46 Commits

Author SHA1 Message Date
bli74
9b17671f15
Support HTTP/2 prior-knowledge, using httpx.Client(http1=False, http2=True). (#1624)
* Pass flag http1 to httpcore.

* Update httpcore version, reorder parameter list

Co-authored-by: ebertli <bert.lindemann@ericsson.com>
Co-authored-by: Tom Christie <tom@tomchristie.com>
2021-05-11 10:40:46 +01:00
Tom Christie
760af43b4f
Update brotli support to use the brotlicffi package (#1605)
* Update brotli support to use the brotlicffi package
2021-04-28 10:09:29 +01:00
Tom Christie
d98e9e7ae7
Support HTTPCore 0.13 (#1588)
* Support HTTPCore 0.13

* Update httpcore minimum version

* Call into 'handle_async_request', not 'arequest'

* Drop unintentional commit

* Update tests
2021-04-21 14:43:18 +01:00
Tom Christie
8fd5b71016
Drop StreamContextManager in favour of contextlib.contextmanager/asynccontextmanager (#1577)
* Drop StreamContextManager in favour of using contextlib.contextmanager/asyncontextmanager

* Use type: ignore to avoid mypy errors on 3.6
2021-04-19 11:07:07 +01:00
Simon L
c09e61d50c
Incompatible with httpcore 0.12.0 (#1495) 2021-03-03 12:25:21 +01:00
Adam Johnson
d964343fa1
Add Changelog link to PyPI page (#1462)
Makes it easy to find out about changes, and it gets a little "present" icon, for example https://pypi.org/project/django-linear-migrations/
2021-02-09 15:10:42 +01:00
Tom Christie
dbbcf438cd
Version 0.16 (#1347) 2020-10-06 15:29:40 +01:00
Michael K
a3eb0f99dc
Run tests against Python 3.9 and add trove classifier (#1342)
Co-authored-by: Tom Christie <tom@tomchristie.com>
2020-10-06 13:12:52 +01:00
Tom Christie
f932af9172
Version 0.15.0 (#1301)
* Version 0.15.0

* Update CHANGELOG.md

Co-authored-by: Jamie Hewland <jamie.hewland@hpe.com>

* Escalate deprecations into removals.

* Deprecate overly verbose timeout parameter names

* Fully deprecate max_keepalive in favour of explicit max_keepalive_connections

* Fully deprecate PoolLimits in favour of Limits

* Deprecate instantiating 'Timeout' without fully explicit values

* Include deprecation notes in changelog

* Use httpcore 0.11.x

Co-authored-by: Jamie Hewland <jamie.hewland@hpe.com>
2020-09-22 11:44:28 +01:00
Tom Christie
d0fe113945
Drop chardet (#1269)
* Internal refactoring to swap auth/redirects ordering

* Drop chardet for charset detection

* Drop chardet in favour of simpler charset autodetection

* Revert unintentionally included changes

* Update test case

* Refactor to prefer different decoding style

* Update text decoding docs/docstrings

* Resolve typo

* Update docs/quickstart.md

Co-authored-by: Florimond Manca <florimond.manca@gmail.com>

Co-authored-by: Florimond Manca <florimond.manca@gmail.com>
2020-09-15 11:20:19 +01:00
Joe
15c1e42c20
Packaging dependancy tweaks (#1206)
* Remove idna and add brotli to extras

* Update dependency docs

* Update BrotliDecoder error message

* Add nocover

Co-authored-by: Tom Christie <tom@tomchristie.com>
2020-08-21 12:30:57 +01:00
Tom Christie
8d9dfb54fc
HTTP/2 becomes fully optional (#1140)
* HTTP/2 becomes fully optional

* Fix linting, coverage
2020-08-07 15:16:21 +01:00
Tom Christie
876e722b24
Update to httpcore 0.10 (#1126)
* Keep HTTPError as a base class for .request() and .raise_for_status()

* Updates for httpcore 0.10

* Update httpx/_exceptions.py

Co-authored-by: Stephen Brown II <Stephen.Brown2@gmail.com>

* Use httpcore.SimpleByteStream/httpcore.IteratorByteStream

* Use httpcore.PlainByteStream

* Merge master

* Update to httpcore 0.10.x

Co-authored-by: Stephen Brown II <Stephen.Brown2@gmail.com>
2020-08-07 14:14:11 +01:00
Florimond Manca
78cf16ace9
Drop HSTS Preloading (#1110)
* Drop HSTS Preloading

* Update test_client.py

Co-authored-by: Tom Christie <tom@tomchristie.com>
2020-08-05 13:05:45 +01:00
Tom Christie
9b6605c3d5
Updates for httpcore 0.9 interface. (#967)
* Pass proxy_url

* Update httpcore dependancy

* Update port in Transport API to be 'Optional[int]'
2020-05-21 13:21:43 +01:00
Tom Christie
97d488a95c
Version 0.13.0.dev2 (#941)
* Update __version__.py

* Update CHANGELOG.md

* Update setup.py

* Update CHANGELOG.md
2020-05-12 10:20:22 +01:00
Jamie Hewland
d568ecda53
ASGI: Wait for response to complete before sending disconnect message (#919)
* asgi: Wait for response to complete before sending disconnect message

* Dial back type checking + remove concurrency module

* Remove somewhat redundant comment
2020-05-12 10:06:53 +01:00
Yeray Diaz Diaz
560b119d32
Version 0.13.0.dev1 (#935) 2020-05-06 15:49:00 +01:00
Tom Christie
bed3d8bd38
Version 0.13.0.dev0 (#915)
* Version 0.13.0.dev0

* Bump httpcore

* Include packaging in requirements

* Include note on UDS support

* Update CHANGELOG
2020-04-30 17:09:49 +01:00
Tom Christie
3046e920ea
Httpcore interface (#804)
* First pass as switching dispatchers over to httpcore interface

* Updates for httpcore interface

* headers in dispatch API as plain list of bytes

* Integrate against httpcore 0.6

* Integrate against httpcore interface

* Drop UDS, since not supported by httpcore

* Fix base class for mock dispatchers in tests

* Merge master and mark as potential '0.13.dev0' release
2020-04-08 13:32:10 +01:00
Hugo van Kemenade
956129fbf7 Add docs and repo to project_urls metadata (#753)
* Add docs and repo to project_urls metadata

For programmatic access to metadata on PyPI.

* Add Trove classifier: Python 3 Only
2020-01-13 10:26:31 +00:00
Tom Christie
2c5fdc51f4
Version 0.11.0 (#737)
* Version 0.11.0

* Update CHANGELOG.md

Co-Authored-By: Florimond Manca <florimond.manca@gmail.com>

* Update CHANGELOG.md

Co-Authored-By: Florimond Manca <florimond.manca@gmail.com>

* Update CHANGELOG.md

Co-Authored-By: Florimond Manca <florimond.manca@gmail.com>

* Bump status to beta

* Update release date to today

* Update changelog

* Use www.python-httpx.org domain

Co-authored-by: Florimond Manca <florimond.manca@gmail.com>
2020-01-09 09:35:56 +00:00
Tom Christie
ee37a762ef
Reintroduce sync API. (#735)
* BaseClient and AsyncClient

* Introduce 'httpx.Client'

* Top level API -> sync

* Top level API -> sync

* Add WSGI support, drop deprecated imports

* Wire up timeouts to urllib3

* Wire up pool_limits

* Add urllib3 proxy support

* Pull #734 into sync Client

* Update AsyncClient docstring

* Simpler WSGI implementation

* Set body=None when no content

* Wrap urllib3 connection/read exceptions
2020-01-08 12:31:50 +00:00
Tom Christie
bb6ab205fe
Upgrade h11 to support both 0.8 and 0.9 (#658) 2019-12-20 15:14:30 +00:00
han-solo
d223de8ff3 Fixed version requirement for rfc3986. Issue reference #504 (#589) 2019-12-04 10:05:33 +00:00
Tom Christie
3cbe7315e8
Concurrency autodetection (#585)
* Simplify HTTP version config, and switch HTTP/2 off by default

* HTTP/2 docs

* HTTP/2 interlinking in docs

* Add concurrency auto-detection

* Add sniffio
2019-12-02 19:26:16 +00:00
Quentin Pradet
7f76a642a8 Add AsyncIO and Trio trove classifiers (#416) 2019-10-01 09:30:20 +02:00
Florimond Manca
f0e56c8f2d Remove trio redundant extra (#390) 2019-09-26 06:02:25 -05:00
Florimond Manca
08355c62f5 Add trio concurrency backend (#276) 2019-09-21 11:10:20 -05:00
Florimond Manca
061d943b78 Add zip_safe=False to setup() (#361)
This fixes `py.typed` not being included in the built package
2019-09-19 11:13:20 -05:00
Seth Michael Larson
8c456e48e9
Release 0.7.2 (#291) 2019-08-29 07:19:02 -05:00
Seth Michael Larson
caba78568e
Release 0.7.1 (#234) 2019-08-18 05:19:14 -05:00
Seth Michael Larson
345a46d6aa
Add CHANGELOG.md for tracking releases (#227) 2019-08-17 15:03:50 -05:00
Stephen Brown II
fde30b8d14 Use pathlib.Path instead of os.path functions (#188) 2019-08-08 21:42:25 -05:00
Andrew M. White
c7a5ce7dff Enable mypy to discover type hints as specified in PEP 561 (#194) 2019-08-06 12:18:34 -05:00
Seth Michael Larson
3ba2e8c328
Switch hosts on HSTS preload to HTTPS (#151) 2019-07-28 12:02:21 -05:00
Tom Christie
219ece023a Rename -> httpx 2019-07-19 15:20:15 +01:00
Seth Michael Larson
c1044cab84 Start using flake8, fix lint issues (#126) 2019-07-18 11:41:50 +01:00
Tom Christie
025240c3b3
Check for connection aliveness on pool re-acquiry (#111)
* Check for connection aliveness on pool re-acquiry

* Test for connection re-acquiry with HTTP/2

* nocover on HTTP/1.1 ConnectionResetError, since we're testing the equivelent on HTTP/2

* Fix setup.py to read version from __version__
2019-07-08 15:57:29 +01:00
Tom Christie
c9747aa357
http3 (#86)
* Start fleshing out documentation

* Docs work

* http3

* Update docs

* Include lowercase status codes, for requests compat

* Updating docs

* Docs tweaks
2019-06-12 15:02:16 +01:00
Tom Christie
b948798414 Add idna support. More tests. 2019-05-01 10:58:58 +01:00
Tom Christie
302fe93df9 Use rfc3986 for URL handling 2019-04-30 17:39:40 +01:00
Tom Christie
d8df61b44b Add response.text and response.encoding 2019-04-30 16:35:25 +01:00
Tom Christie
abe46b8a0e Add h2 to install_requires 2019-04-24 19:38:53 +01:00
Tom Christie
63d73ad554 Rejig response streaming/closing 2019-04-16 14:04:17 +01:00
Tom Christie
a75bc0ebcd Initial commit 2019-04-04 13:27:55 +01:00