Commit Graph

499 Commits

Author SHA1 Message Date
Mattwmaster58
ed949508a6 Files without a filename should not set a Content-Type in multipart data. (#520)
* File upoads with no filename should not set a Content-Type in their multipart data.
* Update type annotations to allow file uploads to be a string
2019-11-30 19:46:44 +00:00
Tom Christie
7d45db068b
Link to ASGI docs (#577) 2019-11-30 18:38:27 +00:00
Tom Christie
248aa580a1
Add Response.stream_lines (#575) 2019-11-30 18:02:46 +00:00
Tom Christie
fdaa01275a
Add Response.is_error (#574) 2019-11-30 17:43:48 +00:00
Casey
9df76ccfe9 Preserve list type query paramaters when merging QueryParams objects (#546) (#547) 2019-11-30 15:35:09 +00:00
Tom Christie
095b69184a
Drop MessageLoggerASGIMiddleware. (#573) 2019-11-30 14:28:39 +00:00
Tom Christie
43331cfb3d Ensure Authorization header has priority over .netrc 2019-11-30 12:06:16 +00:00
Florimond Manca
8d55d78574 Drop nox in favor of vanilla scripts (#566)
* Drop nox in favor of vanilla scripts

* Use named stages

* Fix attrs dependency resolution madness

* Add missing mkautodoc dev dependency

* Add missing install step on windows build

* Explicitly define stage order so that timed out Windows build runs last

* Add missing dev dependency on Black

* Clean up contributing guide

* Separate docs into docs-build and docs-serve
2019-11-30 11:50:13 +00:00
Florimond Manca
3218c35341
Refactor start_tls tests (#567)
* Refactor start_tls tests

* Clean up read_response()
2019-11-29 22:16:32 +01:00
Tom Christie
364378a814
Pool timeouts should be on the TimeoutConfig, not PoolLimits (#563)
* Pool timeouts should be on the TimeoutConfig, not PoolLimits

* Linting

* Fix type annotation

* Linting
2019-11-29 12:01:51 +00:00
Tom Christie
b1393ec2f1
Drop iterate_in_threadpool and iterate (#564)
* Drop iterate_in_threadpool

* Drop iterate from concurrency backends
2019-11-29 11:45:40 +00:00
Tom Christie
5fccc04da4
Drop Queue from concurrency backends, since it's no longer required (#562)
* Drop Queue from concurrency backends, since it's no longer required

* Drop unused import
2019-11-29 11:21:46 +00:00
Tom Christie
e045b86d7f
Clean up '_dispatcher_for_request' into 'dispatcher_for_url' (#561) 2019-11-29 11:21:40 +00:00
Tom Christie
44ad295572
Simplify ASGI dispatch (#560)
* Simplify ASGI dispatch

* Blackify

* Linting
2019-11-29 09:07:53 +00:00
Tom Christie
296c9b459e
Drop erronous references to AsyncClient (#559) 2019-11-28 12:33:53 +00:00
Tom Christie
abe0799d70
Refactor netrc handling (#558)
* Refactor netrc handling

* Linting

* Import sorting

* Import sorting
2019-11-28 12:31:15 +00:00
Tom Christie
99ee84e20d
Update client.py 2019-11-27 14:35:37 +00:00
Tom Christie
831e79f50a Version 0.8.0 2019-11-27 13:35:02 +00:00
Tom Christie
00e150f6a5
Client handles redirect + auth (#552)
* Drop sync client

* Drop unused imports

* Async only

* Update tests/test_decoders.py

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

* Linting

* Update docs for async-only

* Import sorting

* Add async notes to docs

* Update README for 0.8 async switch

* Move auth away from middleware where possible

* Drop middleware sub-package

* Client.dispatcher -> Client.dispatch

* Docs tweak

* Linting

* Fix type checking issue

* Import ordering

* Fix up docstrings

* Minor docs fixes

* Linting

* Remove unused import
2019-11-27 12:10:10 +00:00
Tom Christie
206c5372a6
Drop sync (#544)
Drop sync client
2019-11-27 10:43:42 +00:00
Taoufik
1c326d53c6 Stringify the given file name (#545) 2019-11-26 09:05:19 +00:00
Florimond Manca
a05ba2e914
Fix race condition on stream.read (#535)
* Fix race condition on stream.read

* Refactor run_concurrently
2019-11-22 09:34:09 +01:00
toppk
f06ca87f97 Handle h11.Connection.next_event() RemoteProtocolError (#524)
raise (new) ConnectionClosed exception if this occurs when
socket is closed, otherwise reuse ProtocolError exception.

Add test case for ConnectionClosed behavior.

Resolves #96
2019-11-22 09:33:40 +01:00
Florimond Manca
926d6cd6e4
Document when to use AsyncClient (#534)
* Document when to use AsyncClient

* Strip advice on reverting to Requests
2019-11-22 09:19:39 +01:00
Jonas Lundberg
f0e6acb6e2 Add Unix Domain Sockets section to advanced docs page (#542) 2019-11-20 08:48:58 +01:00
Jonas Lundberg
7a96a2c896 Add support for unix domain sockets (#511)
* Add and implement open_uds_stream in concurrency backends

* Add uds arg to BaseClient and select tcp or uds in HttpConnection

* Make open stream methods in backends more explicit

* Close sentence

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

* Refactor uds concurrency test

* Remove redundant uds test assertions
2019-11-19 23:02:08 +01:00
Florimond Manca
a5f9983037
Release 0.7.8 (#536) 2019-11-19 22:06:04 +01:00
Jonas Lundberg
2dbcaf859f Document mocking compatibility (#537) 2019-11-18 12:16:06 +00:00
Seth Michael Larson
331be99cbf Add support for proxy tunnels for Python 3.6 + asyncio. (#521)
* Backport start_tls() support for Python 3.6

* Remove version check in start_tls test
2019-11-17 12:50:54 +01:00
Tom Christie
6045ee242f
Version 0.7.7 (#532) 2019-11-15 21:56:02 +00:00
Tom Christie
5aca0c0172
Fix redirect cookie behavior (#529)
* Fix redirect cookie behavior
* Drop flake8-comprehensions
* Add redirect cookie tests
2019-11-15 21:31:15 +00:00
Jonas Lundberg
1a32cf036a Rename BaseTCPStream/TCPStream to BaseSocketStream/SocketStream (#517) 2019-11-08 17:09:38 +01:00
Florimond Manca
586acddd1a
Improve robustness of live HTTP/2 test (#512) 2019-11-08 00:35:34 +01:00
Florimond Manca
95b2b24302
Add docs on SSL certificates (#510)
* Add docs on SSL certificates

* Update docs on verify and cert params

* Tweak wording

* Tweak wording about localhost

* Remove advanced warning

* Rephrase introduction of local HTTPS section
2019-11-07 10:46:36 +01:00
Florimond Manca
08069e9368
Add DEBUG logs of HTTP requests (#502) 2019-11-06 22:56:25 +01:00
Florimond Manca
2fcf23bbfe
Refactor debug and trace log tests (#506) 2019-11-06 12:04:20 +01:00
Florimond Manca
07586f97e8
Convert debug logs to trace logs (#500)
* Convert debug logs to trace logs

* Update environment variables docs

* Update logging test
2019-11-02 22:40:15 +01:00
Florimond Manca
717b34139b
Remove pin on uvloop in test-requirements (#498) 2019-11-02 22:31:33 +01:00
Florimond Manca
a62947826f
Release 0.7.6 (#499) 2019-11-02 12:09:26 +01:00
Tom Christie
1ce3cc3269 First pass at autodoc support (#464)
* First pass at autodoc support

* Add mkautodoc requirement for docs builds

* Linting

* pip install httpx when building docs, to make it available to mkautodoc

* Fix code example in docstring slightly

* Use latest mkautodoc to resolve rendering of code snippets in docstrings

* Fill in 'Helper functions' API docs

* First pass at documenting Client

* Add autodoc for Client

* Update to mkautodoc 0.1

* Fix typos
2019-10-30 16:21:39 +01:00
Florimond Manca
e3140a0803
Reorganize timeout config tests (#491) 2019-10-22 22:04:42 +02:00
Jamie Hewland
88d73de752 asyncio: Wait for the stream to close when closing (#494) 2019-10-22 22:01:40 +02:00
Jt Miclat
f68b3df81c Change Python 3.8-dev to 3.8 in Travis (#477) 2019-10-20 12:17:22 -05:00
Yeray Diaz Diaz
9ec2cfc5dc
Multipart files tweaks (#482)
* Allow filenames as None in multipart encoding

* Allow str file contents in multipart encode

* Some formatting changes on `advanced.md`

* Document multipart file encoding in the advanced docs

* Update docs/advanced.md

Co-Authored-By: Florimond Manca <florimond.manca@gmail.com>
2019-10-20 13:25:00 +01:00
Jamie Hewland
644e8fc5b6 Make start_tls a method on streams & return a new stream (#484)
* Move start_tls to stream & return a new stream

* asyncio: Keep a reference to the inner stream when upgrading to TLS
2019-10-20 12:59:16 +02:00
Florimond Manca
ad38db82f9
Document client-level configuration (#488)
* Document client-level configuration

* Fix typo
2019-10-19 15:05:26 +02:00
Yeray Diaz Diaz
09db6ec935 Drop proxies parameter from the high level API (#485)
* Drop `proxies` argument from high level API

* Update state of Digest auth in docs

* Add note on not supporting proxies at request level

* Grammar tweak

Co-Authored-By: Florimond Manca <florimond.manca@gmail.com>
2019-10-19 14:51:27 +02:00
Florimond Manca
074cd25b04
Document client block-usage and close() (#487)
* Document client context manager vs close() usage

* Convert client snippets to use context-managed syntax
2019-10-19 13:52:44 +02:00
mariaS210
7200717e82 Add logic for determining if a URL should be proxied (#472) 2019-10-17 10:58:11 -05:00
Mateusz Woś
2984499f28 Add timeout fine-tunning advanced docs section (#476)
* Add timeout fine-tunning advanced docs section

* Rephrase part of timeout documentation
2019-10-16 18:27:45 +02:00