* Pass proxy_url
* Rename hard_limit/soft_limit
* Use 'warn_deprecated' function
* Update PoolLimits docs
* Linting
* Update httpcore dependancy
* Update port in Transport API to be 'Optional[int]'
* Deprecate Client arg 'dispatch' and use 'transport'
* Remove line in test from coverage
* Document custom transports
* _dispatch > _transports
Also rename *Dispatch classes to *Transport and added aliases
* Fix linting issues
* Missed one _transports import
* Promote URLLib3Transport to public API
* Remove duplicate arg doc
* Assert that urllib3 is imported to use URLLib3Transport
* `AsyncClient`, not asynchronous `Client`
* Add warning category to warn calls
* Update docs/advanced.md
Co-authored-by: Florimond Manca <florimond.manca@gmail.com>
* Add warn_deprecated utility function
* Amend docs references to dispatch
* Add concrete implementation example
* Clearer transport implementation description
Co-authored-by: Florimond Manca <florimond.manca@gmail.com>
* asgi: Wait for response to complete before sending disconnect message
* Dial back type checking + remove concurrency module
* Remove somewhat redundant comment
* 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
* Add reproducible test example for empty multipart
* Possible fix for empty combination of files/data
* Return bytestream with empty data/files
* Remove content-length in test
Co-authored-by: florimondmanca <florimond.manca@gmail.com>
* 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
* 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
* 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
- 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>
* 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>
* 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
* 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
* 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.
* 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