Commit Graph

642 Commits

Author SHA1 Message Date
Piotr Staroszczyk
efe9f61bc2
Drop RedirectLoop exception (#819)
* drop RedirectLoop exception

* tests is package to allow run it easly

* bring back test for redirect loop
2020-02-24 10:09:52 +00:00
Tom Christie
db33c071e1
Add 'chat' to docs (#818) 2020-02-19 11:38:14 +00:00
Primož Godec
3e12fd0656
Adding NetworkError to __init__ (#814) 2020-02-12 15:19:48 +00:00
George Kettleborough
b3db9ff0b6
Add Auth.requires_response_body attribute (#803)
* Add Auth.requires_response_body attribute

If set then responses are read by the client before being sent back into the auth flow

* Update tests and docs

* PR fixes

* Change example methods
2020-02-10 12:10:11 +00:00
Colin Bounouar
cfe2278096
Document that iter_* methods are synchronous (#807) 2020-02-06 13:40:42 +01:00
Florimond Manca
6614831739
Use a base_url in app dispatcher examples (#799) 2020-02-03 13:05:56 +01:00
Florimond Manca
82dc6f32f8 Switch to private module names (#785)
* Rename modules

* Update names in package

* Fix tests

* Review docs
2020-01-28 14:34:43 +00:00
Tim Gates
c2eb0bd40f Fix simple typo: conncurrent -> concurrent (#793)
Closes #792
2020-01-26 01:24:41 -05:00
Jung Sang-jun
b1e99a5cf9 Fix ProxyMode for code in dispatch/proxy_http (#788)
FORWARD_ONLY seems correct
2020-01-22 10:50:06 +00:00
Yeray Diaz Diaz
b23420392e
Detect credentials in proxy URLs and create Proxy-authorization header (#780)
* Detect auth in proxy URLs and create Proxy-authorization header

* Add credentials and SOCKS details to proxy documentation

* Use URL.copy_with to remove credentials from URL
2020-01-20 13:50:50 +00:00
Tom Christie
b128bfaf21
Version 0.11.1 (#773)
* Version 0.11.1

* Update changelog

* Update CHANGELOG.md

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

Co-authored-by: Florimond Manca <florimond.manca@gmail.com>
2020-01-17 21:31:56 +00:00
Tom Christie
1f8fb28d93
Handle redirect with malformed Location headers missing host. (#774) 2020-01-17 11:42:51 +00:00
Tom Christie
5a63540e8a
Fix for streaming a redirect response body with allow_redirects=False (#766) 2020-01-17 09:45:37 +00:00
Tom Christie
be82404168
Fix urllib3 proxy instantiation (#763) 2020-01-14 14:09:08 +00:00
Florimond Manca
7d84408cda Add an async example to intro snippets (#750) 2020-01-14 09:01:09 +00:00
Tom Christie
780d1843ca
Support both zlib and deflate encodings (#758)
* Support both zlib and deflate encodings

* Helpful test docstrings
2020-01-14 09:00:52 +00: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
Francesco Pongiluppi
7f0e791f9d Fix syntax highlighting (#757)
Fixes syntax highlighting in quickstart documentation
2020-01-13 10:26:00 +00:00
Florimond Manca
bdfabe1e9a Setup custom domain (#751) 2020-01-11 09:38:09 +00:00
wynnw
b7c0d3446c Fix typo on "synonyms" (#748) 2020-01-10 23:46:31 +01:00
Mason Hall
b112b23152 Fix typo in async.md (#747) 2020-01-10 18:31:43 +01:00
Jakob Jul Elben
918c55de90 Update api.py (#745) 2020-01-09 18:10:06 +00:00
Luís Gustavo
c225e95b1d Fix typo in 'Streaming responses' docs (#744) 2020-01-09 12:23:33 +00:00
Tom Christie
7b576fae79
Update CHANGELOG.md 2020-01-09 10:25:23 +00:00
Tom Christie
367bff621c Use www.python-httpx.org domain 2020-01-09 09:49:25 +00:00
Tom Christie
d515e4b1aa Fix repo URL 2020-01-09 09:45:54 +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
97807bf607 Link to changelog 2020-01-09 09:22:54 +00:00
Tom Christie
b932d94d99 Use www.python-httpx.org domain 2020-01-09 09:18:32 +00:00
Tom Christie
2038919b7e
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>
2020-01-08 12:51:52 +00:00
Tom Christie
eac4b9ba74
Improve docstring for PoolLimits (#712)
* Improve docstring for PoolLimits

* Linting for docstring
2020-01-08 12:33:35 +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
Yurii Ohorodnik
387f04732b Fixed redirect loop (#734)
* fixed redirect loop

* linted with flake8

* linted with flake8
2020-01-07 16:13:06 +00:00
Tom Christie
c842c8ff20
proxies_to_dispatchers -> get_proxy_map (#733) 2020-01-07 13:37:57 +00:00
Tom Christie
12dd157fea
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>
2020-01-07 13:20:23 +00:00
Tom Christie
c5037f06e4
Drop per-request 'cert'/'verify'/'trust_env', and 'stream=bool' arguments (#730) 2020-01-07 12:24:26 +00:00
Andrés Álvarez
2b92a78c41 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>
2020-01-07 10:39:47 +00:00
Tom Christie
f17ab37b2f
Prep for introducing SyncClient (#713)
* Reorganize method ordering in client

* Move 'request'

* Use 'httpx.Proxy' for proxy configuration
2020-01-07 10:27:01 +00:00
Florimond Manca
e1afbfa7b4 Wrap network errors in HTTPX-specific exceptions (#707) 2020-01-07 10:01:11 +00:00
Tom Christie
e19bd9bc4b
Dispatcher -> AsyncDispatcher (#725)
* Dispatcher -> AsyncDispatcher

* Fix invalid renamings

* Fix invalid renamings
2020-01-06 12:08:14 +00:00
Tom Christie
6ac49dacdd
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>
2020-01-06 11:14:43 +00:00
Florimond Manca
bd57b650a8 Release max_connections for keepalive connections when closing the connection pool (#721) 2020-01-06 11:13:06 +00:00
Kousik Mitra
0ed0314569 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
2020-01-04 10:00:34 +01:00
Florimond Manca
bc6163c55a
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>
2020-01-03 22:59:16 +01:00
Florimond Manca
910aa9094c
Repurpose RedirectBodyUnavailable as RequestBodyUnavailable (#690) 2020-01-03 22:25:55 +01:00
Florimond Manca
ff44d2d1b8 Fix typo in 'Redirection and History' docs (#719) 2020-01-03 21:14:13 +00:00
Tom Christie
79a9748ae6
Load SSL Context on init (#709) 2020-01-02 16:52:23 +00:00
Tom Christie
f5eaec7ab3
More coverage improvements (#711)
* More coverage improvements

* Drop redundant 'sleep' usage in test utils
2020-01-02 15:33:26 +00:00
Tom Christie
11e7604d1a
Sync streaming interface on responses (#695)
* Sync streaming interface on responses

* Fix test case

* Test coverage for sync response APIs

* Address review comments
2020-01-02 12:56:11 +00:00
Tom Christie
b0bf2a7513
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
2020-01-02 10:54:04 +00:00