]>
git.ipfire.org Git - thirdparty/httpx.git/log
Mason Hall [Fri, 10 Jan 2020 17:31:43 +0000 (11:31 -0600)]
Fix typo in async.md (#747)
Jakob Jul Elben [Thu, 9 Jan 2020 18:10:06 +0000 (19:10 +0100)]
Update api.py (#745)
Luís Gustavo [Thu, 9 Jan 2020 12:23:33 +0000 (09:23 -0300)]
Fix typo in 'Streaming responses' docs (#744)
Tom Christie [Thu, 9 Jan 2020 10:25:23 +0000 (10:25 +0000)]
Update CHANGELOG.md
Tom Christie [Thu, 9 Jan 2020 09:49:25 +0000 (09:49 +0000)]
Use www.python-httpx.org domain
Tom Christie [Thu, 9 Jan 2020 09:45:54 +0000 (09:45 +0000)]
Fix repo URL
Tom Christie [Thu, 9 Jan 2020 09:35:56 +0000 (09:35 +0000)]
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>
Tom Christie [Thu, 9 Jan 2020 09:22:54 +0000 (09:22 +0000)]
Link to changelog
Tom Christie [Thu, 9 Jan 2020 09:18:32 +0000 (09:18 +0000)]
Use www.python-httpx.org domain
Tom Christie [Wed, 8 Jan 2020 12:51:52 +0000 (12:51 +0000)]
Proposed 0.11 docs (#727)
* Proposed 0.11 docs
* Add async section and link in
* Update docs/advanced.md
Co-Authored-By: Florimond Manca <florimond.manca@gmail.com>
* Update docs/async.md
Co-Authored-By: Florimond Manca <florimond.manca@gmail.com>
* Update docs/async.md
Co-Authored-By: Florimond Manca <florimond.manca@gmail.com>
* Update docs/quickstart.md
Co-Authored-By: Florimond Manca <florimond.manca@gmail.com>
* Update docs/async.md
Co-Authored-By: Florimond Manca <florimond.manca@gmail.com>
* Update docs/async.md
Co-Authored-By: Florimond Manca <florimond.manca@gmail.com>
* Update docs/async.md
Co-Authored-By: Florimond Manca <florimond.manca@gmail.com>
* Docs updates
* Use context-managed client instances in examples
* Update README with links to docs site, rather than to .md documents
* "99% test coverage"
* Update docs/async.md
Co-Authored-By: Florimond Manca <florimond.manca@gmail.com>
* Update docs/async.md
Co-Authored-By: Florimond Manca <florimond.manca@gmail.com>
* Add Client.close method to API docs
* Update docs/async.md
Co-Authored-By: Florimond Manca <florimond.manca@gmail.com>
Co-authored-by: Florimond Manca <florimond.manca@gmail.com>
Tom Christie [Wed, 8 Jan 2020 12:33:35 +0000 (12:33 +0000)]
Improve docstring for PoolLimits (#712)
* Improve docstring for PoolLimits
* Linting for docstring
Tom Christie [Wed, 8 Jan 2020 12:31:50 +0000 (12:31 +0000)]
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
Yurii Ohorodnik [Tue, 7 Jan 2020 16:13:06 +0000 (18:13 +0200)]
Fixed redirect loop (#734)
* fixed redirect loop
* linted with flake8
* linted with flake8
Tom Christie [Tue, 7 Jan 2020 13:37:57 +0000 (13:37 +0000)]
proxies_to_dispatchers -> get_proxy_map (#733)
Tom Christie [Tue, 7 Jan 2020 13:20:23 +0000 (13:20 +0000)]
Public Auth API (#732)
* Public Auth API
* Minor docs tweak
* Request.aread and Request.content
* Support requires_request_body
* Update tests/models/test_requests.py
Co-Authored-By: Florimond Manca <florimond.manca@gmail.com>
Co-authored-by: Florimond Manca <florimond.manca@gmail.com>
Tom Christie [Tue, 7 Jan 2020 12:24:26 +0000 (12:24 +0000)]
Drop per-request 'cert'/'verify'/'trust_env', and 'stream=bool' arguments (#730)
Andrés Álvarez [Tue, 7 Jan 2020 10:39:47 +0000 (04:39 -0600)]
Drop `Origin` from public API (#688)
- Drop the url.origin property.
- Drop Origin from the top-level export.
- Use origin = Origin(url) in our internal usage, rather than
url.origin.
Closes #656
Co-authored-by: Tom Christie <tom@tomchristie.com>
Tom Christie [Tue, 7 Jan 2020 10:27:01 +0000 (10:27 +0000)]
Prep for introducing SyncClient (#713)
* Reorganize method ordering in client
* Move 'request'
* Use 'httpx.Proxy' for proxy configuration
Florimond Manca [Tue, 7 Jan 2020 10:01:11 +0000 (11:01 +0100)]
Wrap network errors in HTTPX-specific exceptions (#707)
Tom Christie [Mon, 6 Jan 2020 12:08:14 +0000 (12:08 +0000)]
Dispatcher -> AsyncDispatcher (#725)
* Dispatcher -> AsyncDispatcher
* Fix invalid renamings
* Fix invalid renamings
Tom Christie [Mon, 6 Jan 2020 11:14:43 +0000 (11:14 +0000)]
Drop `run` and `run_in_threadpool` (#710)
* Drop run and run_in_threadpool
* Fix server restart errors
* Re-introduce 'sleep' as a concurrency test utility
* Simpler test concurrency utils
Co-authored-by: Florimond Manca <florimond.manca@gmail.com>
Florimond Manca [Mon, 6 Jan 2020 11:13:06 +0000 (12:13 +0100)]
Release max_connections for keepalive connections when closing the connection pool (#721)
Kousik Mitra [Sat, 4 Jan 2020 09:00:34 +0000 (14:30 +0530)]
Raise an exception in DigestAuth if non-replayable request is passed (#685)
* DigestAuth will raise exception if non-replayble request is passed #670
* Added new exception RequestBodyUnavailble exception to raise non replayable request error #670
* Changed RedirectBodyUnavailable exception to RequestBodyUnavailble to raise non-replayable exception #670
* fixed class declaration
* Added RequestBodyUnavailable exception. Imported it in module level
* Added RequestBodyUnavailable in the module list
* Code reformat
* Added Test to check if exception is raising if non-replayble request body is passed to DigestAuth #670
Florimond Manca [Fri, 3 Jan 2020 21:59:16 +0000 (22:59 +0100)]
Record history of requests made during authentication (#718)
* Record history of requests made during authentication
* Add asserts on digest auth history
Co-Authored-By: Gaurav Dhameeja <gdhameeja@gmail.com>
Florimond Manca [Fri, 3 Jan 2020 21:25:55 +0000 (22:25 +0100)]
Repurpose RedirectBodyUnavailable as RequestBodyUnavailable (#690)
Florimond Manca [Fri, 3 Jan 2020 21:14:13 +0000 (22:14 +0100)]
Fix typo in 'Redirection and History' docs (#719)
Tom Christie [Thu, 2 Jan 2020 16:52:23 +0000 (16:52 +0000)]
Load SSL Context on init (#709)
Tom Christie [Thu, 2 Jan 2020 15:33:26 +0000 (15:33 +0000)]
More coverage improvements (#711)
* More coverage improvements
* Drop redundant 'sleep' usage in test utils
Tom Christie [Thu, 2 Jan 2020 12:56:11 +0000 (12:56 +0000)]
Sync streaming interface on responses (#695)
* Sync streaming interface on responses
* Fix test case
* Test coverage for sync response APIs
* Address review comments
Tom Christie [Thu, 2 Jan 2020 10:54:04 +0000 (10:54 +0000)]
SSLConfig refactor (#706)
* SSLConfig includes 'http2' argument on init.
* Pass SSL config to HTTPConnection as a single argument
* Don't run SSL context loading in threadpool
Tom Christie [Wed, 1 Jan 2020 15:36:11 +0000 (15:36 +0000)]
Version 0.10.1 (#701)
Tom Christie [Wed, 1 Jan 2020 15:33:24 +0000 (15:33 +0000)]
Bump coverage (#705)
* Bump coverage
* Tests for iterative text decoding with 'aiter_text'
* nocover on xfail exception cases
* nocover API that is pending deprecation
* Tweak test to removed uncovered line
* Ingest request body in RedirectBodyUnavailable test case
Joe [Wed, 1 Jan 2020 13:45:38 +0000 (21:45 +0800)]
Make timeout parameter None-able & cleanup __all__. (#704)
* Timeout type annotation includes `None`.
* Cleanup `__all__` exports.
Tom Christie [Wed, 1 Jan 2020 13:05:49 +0000 (13:05 +0000)]
Drop unused Request.cookies (#703)
Tom Christie [Tue, 31 Dec 2019 15:24:50 +0000 (15:24 +0000)]
Drop unused SSLConfig.with_overrides (#702)
Tom Christie [Tue, 31 Dec 2019 13:18:23 +0000 (13:18 +0000)]
Drop OpenConnection (#700)
Tom Christie [Tue, 31 Dec 2019 13:18:00 +0000 (13:18 +0000)]
Lock around stream.write and stream.close operations (#699)
David Larlet [Tue, 31 Dec 2019 12:02:14 +0000 (07:02 -0500)]
Update link to timeout fine tuning in quickstart (#696)
Gabriel Strauss [Tue, 31 Dec 2019 12:01:43 +0000 (07:01 -0500)]
Adds check to enforce single consumption of AsyncIteratorStream. (#697)
Tom Christie [Sun, 29 Dec 2019 17:00:34 +0000 (17:00 +0000)]
Version 0.10.0 (#691)
* Version 0.10.0
* Update CHANGELOG.md
Co-Authored-By: Florimond Manca <florimond.manca@gmail.com>
* Include changelog for 'response.request is no longer optional'.
* Add response.elapsed note to changelog
* Also ref original PR for response.elapsed behavior
Co-authored-by: Florimond Manca <florimond.manca@gmail.com>
Tom Christie [Sun, 29 Dec 2019 16:56:18 +0000 (16:56 +0000)]
response.elapsed now reflects entire request/response time. (#692)
* Changed behaviour of elapsed on response
* Fixed api docs for Response elapsed
* Minor tweaks to 'request.elapsed'
* Response instantiated with content should have elapsed==0
* Fix elapsed time on immediately closed responses.
Tom Christie [Sun, 29 Dec 2019 16:38:54 +0000 (16:38 +0000)]
Switch from an Event primitive to a Lock primitive (#693)
Florimond Manca [Sun, 29 Dec 2019 15:34:23 +0000 (16:34 +0100)]
Rename Client to AsyncClient (with compat synonym) (#680)
* Rename Client to AsyncClient (with compat synonym)
* Document motivation for AsyncClient renaming
Co-authored-by: Tom Christie <tom@tomchristie.com>
Florimond Manca [Sun, 29 Dec 2019 15:34:07 +0000 (16:34 +0100)]
Rename 'next' to 'anext' on Response (#676)
* Rename 'next' to 'anext' on Response
* Drop iscoroutinefunction() check
Co-authored-by: Tom Christie <tom@tomchristie.com>
Florimond Manca [Sun, 29 Dec 2019 15:15:09 +0000 (16:15 +0100)]
Rename 'close' to 'aclose' on Client (#675)
* Switch to aclose on Client
* Fix reference to aclose in API docs
Florimond Manca [Sun, 29 Dec 2019 15:14:53 +0000 (16:14 +0100)]
Rename 'read/close' to 'aread/aclose' on Response (#674)
* Switch to aread/aclose on responses
* Linting
Co-authored-by: Tom Christie <tom@tomchristie.com>
Tom Christie [Sun, 29 Dec 2019 15:02:03 +0000 (15:02 +0000)]
Drop Request.read() (#679)
Florimond Manca [Sun, 29 Dec 2019 15:01:20 +0000 (16:01 +0100)]
Drop per-request `cert`, `verify`, and `trust_env` (#617)
* Drop per-request cert/verify/trust_env
* Remove cert/verify from the dispatcher API
* Apply lint
* Reintroduce cert/verify/trust_env on client methods, with errors
Tom Christie [Mon, 23 Dec 2019 10:49:36 +0000 (10:49 +0000)]
Gracefully end_stream early on no-body requests. (#682)
Florimond Manca [Mon, 23 Dec 2019 09:51:06 +0000 (10:51 +0100)]
Type-check test_cookies.py (#677)
Florimond Manca [Sat, 21 Dec 2019 17:48:55 +0000 (18:48 +0100)]
Type-check test_auth.py (#665)
* Type-check test_auth.py
* Drop request cast
Florimond Manca [Sat, 21 Dec 2019 16:21:14 +0000 (17:21 +0100)]
Fix out-of-date methods on Response API docs (#673)
Florimond Manca [Sat, 21 Dec 2019 15:08:40 +0000 (16:08 +0100)]
Clean up 'backend' fixture (#664)
* Clean up 'backend' fixture
* Add docstring to 'async_environment' fixture
Florimond Manca [Sat, 21 Dec 2019 14:38:25 +0000 (15:38 +0100)]
Make 'request' non-optional on responses (#666)
* Make 'request' non-optional on Response
* Lint
* Remove remaining mention to null request
Florimond Manca [Sat, 21 Dec 2019 14:17:14 +0000 (15:17 +0100)]
Remove httpxprof (#663)
Andrés Álvarez [Fri, 20 Dec 2019 16:53:42 +0000 (10:53 -0600)]
Rename `concurrency` directory to `backends` (#662)
Closes #659
Tom Christie [Fri, 20 Dec 2019 16:05:04 +0000 (16:05 +0000)]
Use Streams API for both requests and responses. (#648)
* Internal ContentStreams API
Tom Christie [Fri, 20 Dec 2019 15:14:55 +0000 (15:14 +0000)]
Rationalize backend Semaphore interface slightly (#660)
Tom Christie [Fri, 20 Dec 2019 15:14:30 +0000 (15:14 +0000)]
Upgrade h11 to support both 0.8 and 0.9 (#658)
Tom Christie [Fri, 20 Dec 2019 11:18:22 +0000 (11:18 +0000)]
Version 0.9.5 (#657)
Tom Christie [Fri, 20 Dec 2019 10:46:35 +0000 (10:46 +0000)]
params argument on URL should merge, not replace. (#653)
Tom Christie [Fri, 20 Dec 2019 10:25:42 +0000 (10:25 +0000)]
Fix Host header and HSTS when the default port is explicitly included in URL (#649)
Tom Christie [Wed, 18 Dec 2019 15:25:31 +0000 (15:25 +0000)]
No I/O auth (#644)
* No I/O on Auth
Tom Christie [Wed, 18 Dec 2019 10:51:34 +0000 (10:51 +0000)]
Added RequestContent (#636)
* Request Content
* Added RequestContent interface
* Docstrings on 'encode(data, files, json)'
* Update httpx/content.py
Co-Authored-By: Florimond Manca <florimond.manca@gmail.com>
* can_rewind -> can_replay
Florimond Manca [Mon, 16 Dec 2019 21:26:47 +0000 (22:26 +0100)]
Force compiling 'regex' from source (#642)
Tom Christie [Mon, 16 Dec 2019 12:19:25 +0000 (12:19 +0000)]
Disable HTTP/2 strict header validation (#637)
Florimond Manca [Mon, 16 Dec 2019 12:11:58 +0000 (13:11 +0100)]
asyncio: Don't wait for the stream to close (#640)
* Don't wait for stream_writer to close
* Add comment on why wait_closed() is not called
Arkie [Fri, 13 Dec 2019 10:49:15 +0000 (18:49 +0800)]
Allow explicit Content-Type to take precedence (#633)
Tom Christie [Fri, 13 Dec 2019 10:44:02 +0000 (10:44 +0000)]
Version 0.9.4 (#631)
Tom Christie [Thu, 12 Dec 2019 11:57:53 +0000 (11:57 +0000)]
Bump up flow control defaults (#629)
* Bump up flow control defaults
* Linting
* Simplify mock HTTP/2 stream in tests
Tom Christie [Thu, 12 Dec 2019 11:52:49 +0000 (11:52 +0000)]
Keep-alive timeouts. (#627)
* Add .time() to backend
* Add connection timeouts
* Add test case for keep alive timeouts
* Update httpx/dispatch/connection_pool.py
Co-Authored-By: Florimond Manca <florimond.manca@gmail.com>
* Cleanups from review
* Use .expires_at, rather than .timeout_at
Tom Christie [Thu, 12 Dec 2019 11:13:25 +0000 (11:13 +0000)]
Fix typo on "URLs" (#630)
Tom Christie [Thu, 12 Dec 2019 10:40:12 +0000 (10:40 +0000)]
Ensure H2 state is only accessed by the connection, not per-stream. (#628)
* Ensure H2 state is only accessed by the connection, not per-stream
* Formatting tweak
Tom Christie [Wed, 11 Dec 2019 12:31:05 +0000 (12:31 +0000)]
Drop unused methods from BaseEvent (#626)
Tom Christie [Wed, 11 Dec 2019 12:30:56 +0000 (12:30 +0000)]
Refactor get_semaphore (#625)
Tom Christie [Mon, 9 Dec 2019 18:30:00 +0000 (18:30 +0000)]
Tweak backport_start_tls implementation, and add 'nocover'. (#622)
Tom Christie [Mon, 9 Dec 2019 17:12:20 +0000 (17:12 +0000)]
Trivial-case test for response.elapsed
Tom Christie [Mon, 9 Dec 2019 10:59:55 +0000 (10:59 +0000)]
Minor config cleanup (#621)
Florimond Manca [Mon, 9 Dec 2019 10:34:02 +0000 (11:34 +0100)]
Add OpenConnection base class (#616)
* Add OpenConnection base class
* Move is_http2 property around
Tom Christie [Sun, 8 Dec 2019 19:52:46 +0000 (19:52 +0000)]
Drop 'fork' (#619)
Tom Christie [Sun, 8 Dec 2019 19:43:33 +0000 (19:43 +0000)]
Drop TimeoutFlag (#618)
Florimond Manca [Sat, 7 Dec 2019 14:17:35 +0000 (15:17 +0100)]
Refactor tests in the light of backend auto-detection (#615)
* Refactor tests in the light of backend auto-detection
* Test passing explicit backend separately
* Drop 'backend=backend'
* Fix usage of asyncio.run() on 3.6
Tom Christie [Sat, 7 Dec 2019 14:14:09 +0000 (14:14 +0000)]
HTTP/2 refactoring (#612)
* HTTP/2 refactoring
* Clean up flow control
* Remove extra blank line
Tom Christie [Sat, 7 Dec 2019 11:09:58 +0000 (11:09 +0000)]
Backend operations like .read(), .write() now have a manadatory timeout argument. (#611)
Tom Christie [Sat, 7 Dec 2019 09:07:33 +0000 (09:07 +0000)]
Add 'fork' to auto backend (#614)
* Add 'fork' to auto backend
* Version 0.9.3
Tom Christie [Sat, 7 Dec 2019 08:51:14 +0000 (08:51 +0000)]
Add 0.9.2 note
Tom Christie [Sat, 7 Dec 2019 08:49:34 +0000 (08:49 +0000)]
Version 0.9.2
Tom Christie [Fri, 6 Dec 2019 17:48:04 +0000 (17:48 +0000)]
0.9.1 note
Tom Christie [Fri, 6 Dec 2019 17:45:56 +0000 (17:45 +0000)]
Release 0.9.1 due to build artifacts issue
Tom Christie [Fri, 6 Dec 2019 15:34:45 +0000 (15:34 +0000)]
Update index.md
Tom Christie [Fri, 6 Dec 2019 15:34:21 +0000 (15:34 +0000)]
Update README.md
Tom Christie [Fri, 6 Dec 2019 15:32:22 +0000 (15:32 +0000)]
Version 0.9 (#606)
* Version 0.9
* Final CHANGELOG entries for 0.9
Tom Christie [Fri, 6 Dec 2019 15:20:09 +0000 (15:20 +0000)]
Add aiter methods on response (#610)
Tom Christie [Fri, 6 Dec 2019 15:20:01 +0000 (15:20 +0000)]
Tighten up top-level API to only expose public API (#608)
* Tighten up top-level API to only expose public API
* Leave HTTPProxyMode for backwards compat, raising warnings.
* Add missing import
Florimond Manca [Fri, 6 Dec 2019 13:00:38 +0000 (14:00 +0100)]
Move tunnel_start_tls() to HTTPConnection (#609)
Florimond Manca [Fri, 6 Dec 2019 12:58:21 +0000 (13:58 +0100)]
Cleanup comments on handling MultiError (#607)
Tom Christie [Fri, 6 Dec 2019 11:35:29 +0000 (11:35 +0000)]
Update advanced.md
Tom Christie [Fri, 6 Dec 2019 11:29:22 +0000 (11:29 +0000)]
Warn if cert / verify / trust_env are passed to client.request() (#597)
* Add cert and verify warnings on Client.request
* Resolve typo
Co-Authored-By: Florimond Manca <florimond.manca@gmail.com>
* Resolve typo
Co-Authored-By: Florimond Manca <florimond.manca@gmail.com>
* trust_env should be set on client init
* Update docs for per-Client SSL settings
* Update requests compat docs
Florimond Manca [Fri, 6 Dec 2019 10:49:24 +0000 (11:49 +0100)]
Drop BackgroundManager in favor of fork(func1, func2) (#603)
* Drop BackgroundManager in favor of fork(func1, func2)
* Please mypy
Tom Christie [Thu, 5 Dec 2019 19:54:19 +0000 (19:54 +0000)]
Rename BaseSocketStream cases from connection.stream to connection.socket (#601)