Commit Graph

703 Commits

Author SHA1 Message Date
Kar Petrosyan
08eff926a6
Version 0.26.0 (#3009)
* Version 0.26.0

* Update changelog

* Update CHANGELOG.md

* Add `Deprecated` section
2023-12-20 14:52:22 +04:00
Kar Petrosyan
b4b27ff677
Remove unused curio check (#3010) 2023-12-19 08:53:30 +04:00
Tom Christie
a11fc3849b
Cleanup URL percent-encoding behavior. (#2990)
* Replace path_query_fragment encoding tests

* Remove replaced test cases

* Fix test case to use correct hex sequence for 'abc'

* Fix 'quote' behaviour so we don't double-escape.

* Add '/' to safe chars in query strings

* Update docstring

* Linting

* Update outdated comment.

* Revert unrelated change

---------

Co-authored-by: Kar Petrosyan <92274156+karpetrosyan@users.noreply.github.com>
2023-12-15 11:35:16 +00:00
Kar Petrosyan
3b9060ee11
Fix environment proxies (#2741)
* Add red test

* Make the test pass

* Lint

* chanelog

---------

Co-authored-by: Karen Petrosyan <92274156+karosis88@users.noreply.github.com>
Co-authored-by: Tom Christie <tom@tomchristie.com>
2023-12-14 14:04:04 +00:00
James Braza
2318fd822c
Enabling ruff C416 (#3001)
* Enabled C416 in ruff

* Ran ruff on all files

* Ran ruff format

* Update pyproject.toml

---------

Co-authored-by: Tom Christie <tom@tomchristie.com>
2023-12-13 11:30:39 +00:00
James Braza
1e11096473
Fixed iter_text adding an empty string (#2998) 2023-12-11 22:34:25 +00:00
Tom Christie
90538a3b46
Ensure that ASGI 'raw_path' does not include query component of URL. (#2999) 2023-12-11 15:45:20 +00:00
Kar Petrosyan
f8981f3d12
Add the 'proxy' parameter and deprecate 'proxies'. (#2879)
* Add the proxy parameter and deprecate proxies

* Make the Client.proxy and HTTPTransport.proxy types the same

* Update httpx/_transports/default.py

Co-authored-by: T-256 <132141463+T-256@users.noreply.github.com>

* Update httpx/_transports/default.py

Co-authored-by: T-256 <132141463+T-256@users.noreply.github.com>

* Drop unneeded noqa

* Changelog

* update documentation

* Allow None in mounts

* typos

* Update httpx/_types.py

* Changes proxies to proxy in CLI app

* Add proxy to request function

* Update CHANGELOG.md

Co-authored-by: Tom Christie <tom@tomchristie.com>

* Update docs/troubleshooting.md

Co-authored-by: Tom Christie <tom@tomchristie.com>

* Update docs/troubleshooting.md

Co-authored-by: Tom Christie <tom@tomchristie.com>

* Lint

---------

Co-authored-by: Tom Christie <tom@tomchristie.com>
Co-authored-by: T-256 <132141463+T-256@users.noreply.github.com>
2023-12-11 17:55:52 +04:00
Tom Christie
b471f01d66
Allow URLs where username or password contains unescaped '@'. (#2986)
* Add test cases for userinfo in URL

* Resolve failing test cases

* Update CHANGELOG.md

* Update CHANGELOG.md
2023-12-07 10:08:14 +00:00
T-256
fd60b1815c
Ruff linter: Use the default line-length (#2922)
Co-authored-by: Tester <Tester@test.com>
Co-authored-by: Kar Petrosyan <92274156+karpetrosyan@users.noreply.github.com>
2023-11-29 13:28:31 +04:00
Kar Petrosyan
cc206cf2da
Version 0.25.2 (#2957)
* Version 0.25.2

* Update CHANGELOG.md
2023-11-24 16:33:18 +04:00
Petr Belskiy
87f39f12c9
add missing type hints to __init__(...) (#2938)
* add missing type hints to __init__

https://peps.python.org/pep-0484/

* add info to changelog

* Update CHANGELOG.md

* Update CHANGELOG.md

---------

Co-authored-by: Kar Petrosyan <92274156+karpetrosyan@users.noreply.github.com>
Co-authored-by: Tom Christie <tom@tomchristie.com>
2023-11-17 17:58:51 +04:00
Tom Christie
b07d4e8ce4
Version 0.25.1 (#2923) 2023-11-03 13:18:54 +00:00
Kar Petrosyan
1b7f39eb44
Use ruff format (#2901) 2023-11-02 12:48:53 +01:00
Tom Christie
1d73150c1f
Cleanup response.json() method (#2911)
Co-authored-by: Kar Petrosyan <92274156+karpetrosyan@users.noreply.github.com>
2023-10-31 10:10:16 +00:00
Tom Christie
ad06741d1e
Lazily import 'netrc' module (#2910) 2023-10-30 20:07:42 +00:00
Tom Christie
9751f76186
Drop unneccessary binascii import (#2909)
* Drop unneccessary binascii import

* Update httpx/_multipart.py

Co-authored-by: T-256 <132141463+T-256@users.noreply.github.com>

* boundary is 'bytes' not 'str'

---------

Co-authored-by: T-256 <132141463+T-256@users.noreply.github.com>
2023-10-30 19:13:47 +00:00
robinaly
e63b6594f2
Fix encode host (#2886)
* Fix requiring dot literal rather than any character in IPv4

* Add check to prevent future errors
2023-10-10 12:03:47 +01:00
Hugo van Kemenade
7c9db49f0c
Add support for Python 3.12 (#2854)
* Add support for Python 3.12

* Bump GitHub Actions

* Remove redundant version checks

* Add CHANGELOG entry
2023-09-21 15:35:56 +01:00
xzmeng
59df8190a4
Raise ValueError on Response.encoding being set after Response.text has been accessed (#2852)
* Raise ValueError on change encoding

* Always raise ValueError for simplicity

* update CHANGELOG.md
2023-09-19 08:54:32 +01:00
Musale Martin
88e8431437
Add cookies to the retried request when performing digest authentication. (#2846)
* Add cookies from the response to the retried request

* Conditionally add cookies from the response

* Fix failing auth module tests

* Fix linting error

* Add tests to check set cookies from server
2023-09-15 10:52:11 +01:00
Trim21
c3585a5ccf
Version 0.25.0 (#2801)
* bump

* Update CHANGELOG.md

* Update CHANGELOG.md

Co-authored-by: Kar Petrosyan <92274156+karosis88@users.noreply.github.com>

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

---------

Co-authored-by: Kar Petrosyan <92274156+karosis88@users.noreply.github.com>
Co-authored-by: Tom Christie <tom@tomchristie.com>
2023-09-11 11:13:24 +01:00
Kar Petrosyan
a54ecccd5b
HTTPS proxies support (#2845)
* Add ssl_context argument to Proxy class

* Changelog
2023-09-11 10:56:01 +01:00
Kar Petrosyan
adbcd0e0e7
Change extensions type (#2803)
* Change extensions type

* Update changelog

* install httpcore from the git

* Revert "install httpcore from the git"

This reverts commit 1813c6aff1.

* bump httpcore version

* fix requirements

---------

Co-authored-by: Tom Christie <tom@tomchristie.com>
2023-09-11 09:29:22 +03:00
Kalle Møller
e874351f04
Update _models.py (#2840)
To remove the unknown dict type info

(variable) extensions: ResponseExtensions | dict[Unknown, Unknown]

Co-authored-by: Tom Christie <tom@tomchristie.com>
2023-09-07 10:24:49 +01:00
Iurii Pliner
b40c04dfa6
Drop support for Python 3.7 (#2813)
* Drop Python 3.7 support

* Fix lint

* Changelog
2023-08-09 10:02:28 +01:00
Trim21
9415af643f
Make raise_for_status chainable (#2776)
* merge upstream

* lint

* Update test_async_client.py

* update docs

* add example

* Update docs/quickstart.md

Co-authored-by: Tom Christie <tom@tomchristie.com>

* Update CHANGELOG.md

Co-authored-by: Tom Christie <tom@tomchristie.com>

* Update docs/quickstart.md

Co-authored-by: Tom Christie <tom@tomchristie.com>

---------

Co-authored-by: Tom Christie <tom@tomchristie.com>
2023-08-01 10:22:58 +01:00
Zanie
18d7721c38
Use Mozilla documentation instead of httpstatuses.com for HTTP error reference (#2768) 2023-07-13 15:17:07 -05:00
Zanie Adkins
920333ea98
Always encode forward slashes as %2F in query parameters (#2723)
* Always encode forward slashes as `%2F` in query parameters

* Revert inclusion of "%"

This is expected to fail tests due to double escaping

* Update `urlencode`

---------

Co-authored-by: Tom Christie <tom@tomchristie.com>
2023-06-09 10:06:56 +01:00
Karen Petrosyan
301b8fb03a
Fix URLPattern examples (#2740)
Co-authored-by: Tom Christie <tom@tomchristie.com>
2023-06-08 15:32:18 +03:00
Karen Petrosyan
733595037a
Add socket_options argument to httpx.HTTPTransport class (#2716)
* Add `socket_options` argument to `httpx.HTTPTransport` and `httpx.AsyncHTTPTransport` classes

* Update changelog

* Fix changelog format

* Set httpcore's minimum version to 0.17.2

* Remove SOCKET_OPTIONS import
2023-05-24 11:42:39 +03:00
Nik
a682f6f1c7
Fix exception suppression in asgi transport (#2669) 2023-05-21 01:17:23 +01:00
Peter Lazorchak
abb994c0c2
Ensure all WSGITransport environs have a SERVER_PROTOCOL (#2708) 2023-05-19 11:38:18 +01:00
epenet
fcf1bc73db
Version 0.24.1 (#2702)
* Version 0.24.1

* Update CHANGELOG.md

* Update CHANGELOG.md
2023-05-18 12:03:21 +01:00
Tom Christie
ee432c0d30
Fix for gen-delims escaping behaviour in path/query/fragment (#2701) 2023-05-09 14:20:12 +01:00
Amin Alaee
32e25497a3
Fix ruff error and script (#2680) 2023-04-26 09:34:33 +02:00
Leon Kuchenbecker
472597fb6b
More robust check for upload files in binary mode (#2630)
* Fix check for binary mode

* Change order of type checks

---------

Co-authored-by: Tom Christie <tom@tomchristie.com>
2023-04-20 12:52:44 +01:00
Tom Christie
26dc39213a
Additional context in InvalidURL exceptions (#2675) 2023-04-20 12:17:44 +01:00
Tom Christie
9ae170a936
Fix optional percent encoding behaviour. (#2671)
* Tests for failing optional percent encoding

* Linting

* Fix for optional percent escaping
2023-04-19 13:21:42 +01:00
Jiayun Shen
15d09a3bbc
fix: NO_PROXY should support IPv4, IPv6 and localhost (#2659)
* fix: NO_PROXY supports IPv4, IPv6 and localhost

* add more tests for test_get_environment_proxies

---------

Co-authored-by: Tom Christie <tom@tomchristie.com>
2023-04-19 13:14:37 +01:00
Alex Prengère
c1cc6b2462
Fixes #2666: None is the default value of file for httpx.NetRCAuth (#2667) 2023-04-18 10:03:01 +01:00
Piotr Staroszczyk
4b5a92e88e
set logging request lines to INFO level for async method also (#2656) 2023-04-12 15:53:11 +01:00
Tom Christie
579a3f2fb8
Version 0.24.0 (#2652)
* Version 0.24.0

* Typo

* Update CHANGELOG.md
2023-04-11 11:00:02 +01:00
Marcelo Trylesinski
daec2bdcdb
Use ruff instead of flake8, autoflake and isort (#2648)
* Use ruff instead of flake8, autoflake and isort

* Update pyproject.toml
2023-04-05 12:37:10 +02:00
Tom Christie
f1157dbc41
Use standard logging style (#2547)
* Use standard logging style

* Add docs for logging

* Drop out-of-date HTTPX_LOG_LEVEL variable docs
2023-03-20 11:30:11 +00:00
Gianni Tedesco
85c5898d8e
Change LineDecoder to match stdlib splitlines, resulting in significant speed up (#2423)
* Replace quadratic algo in LineDecoder

Leading to enormous speedups when doing things such as
Response(...).iter_lines() as described on issue #2422

* Update httpx/_decoders.py

* Update _decoders.py

Handle text ending in `\r` more gracefully.
Return as much content as possible.

* Update test_decoders.py

* Update _decoders.py

* Update _decoders.py

* Update _decoders.py

* Update httpx/_decoders.py

Co-authored-by: cdeler <serj.krotov@gmail.com>

* Update _decoders.py

---------

Co-authored-by: Tom Christie <tom@tomchristie.com>
Co-authored-by: cdeler <serj.krotov@gmail.com>
2023-03-16 14:29:15 +00:00
Tom Christie
e486fbceea
Update _client.py 2023-03-15 10:11:01 +00:00
Tom Christie
0fc9009b90
Update _client.py 2023-03-15 10:07:09 +00:00
bpoirriez
c5e9c82c90
Add sslcontext to the asynclient docstring (#2609)
Co-authored-by: Tom Christie <tom@tomchristie.com>
2023-03-13 12:06:21 +00:00
dependabot[bot]
6779fae5ee
Bump mypy from 0.982 to 1.0.1 (#2611)
* Bump mypy from 0.982 to 1.0.1

Bumps [mypy](https://github.com/python/mypy) from 0.982 to 1.0.1.
- [Release notes](https://github.com/python/mypy/releases)
- [Commits](https://github.com/python/mypy/compare/v0.982...v1.0.1)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Remove unused ignores for mypy-1.0.1

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Michael Adkins <michael@prefect.io>
2023-03-01 11:53:54 -06:00
Florimond Manca
a934c36a85
Drop private imports from test_urlparse.py (#2572)
* Drop private imports from test_urlparse.py

* Coverage

* Drop ._uri_reference
2023-02-15 14:43:19 +00:00
Adrian Garcia Badaracco
f0fd91925b
fix type annotation for MockTransport (#2581)
* fix type annotation for MockTransport

* add type ignore

* better type checks

* better type checks

* add pragma

---------

Co-authored-by: Tom Christie <tom@tomchristie.com>
2023-02-09 16:05:07 +00:00
Tom Christie
59914c7690
Add NetRCAuth() class. (#2535)
* NetRCAuth class

* Add docs for httpx.NetRCAuth()

* Drop failing cross-domain test for NetRCAuth()

* Update tests

* Update httpx/_auth.py

* Add tests for netrc file with no password
2023-01-12 11:27:46 +00:00
Tom Christie
a6af45edac
Use '%20' for encoding spaces in query parameters. (#2543)
* Add failing test

* Fix failing test case

* Add urlencode

* Update comment
2023-01-10 11:16:09 +00:00
Tom Christie
57daabf673
Drop rfc3986 requirement. (#2252)
* Drop RawURL

* First pass at adding urlparse

* Update urlparse

* Add urlparse

* Add urlparse

* Unicode non-printables can be valid in IDNA hostnames

* Update _urlparse.py docstring

* Linting

* Trim away ununsed codepaths

* Tweaks for path validation depending on scheme and authority presence

* Minor cleanups

* Minor cleanups

* full_path -> raw_path, forr internal consistency

* Linting fixes

* Drop rfc3986 dependency

* Add test for #1833

* Linting

* Drop 'rfc3986' dependancy from README and docs homepage

Co-authored-by: Thomas Grainger <tagrain@gmail.com>
2023-01-10 10:36:15 +00:00
Tom Christie
08a557e3e2
Version 0.23.3 (#2540) 2023-01-04 09:39:43 +00:00
Michael Adkins
bddd774ce0
Revert "Raise TypeError on invalid query params. (#2523)" (#2539)
This reverts commit 4cbf13ece2.
2023-01-04 09:23:32 +00:00
Tom Christie
2ab735849a
Version 0.23.2 (#2510)
* Version 0.23.2

* Update CHANGELOG.md
2023-01-02 11:46:22 +00:00
Tom Christie
4cbf13ece2
Raise TypeError on invalid query params. (#2523)
* Raise TypeError on invalid query params

* Fix TypeError

* Update tests/models/test_queryparams.py

Co-authored-by: Michael Adkins <contact@zanie.dev>

* Linting

* Fix exception check

Co-authored-by: Michael Adkins <contact@zanie.dev>
2022-12-30 20:56:48 +00:00
Tom Christie
b82fbe2c13
Drop private import of 'format_form_param' from tests (#2500)
* Drop private import of 'format_form_param' from tests

* Drop unused code path
2022-12-12 16:31:29 +00:00
Tom Christie
b97c0594a5
Streaming multipart support (#2382)
* Streaming multipart support

* Update tests for streaming multipary
2022-12-12 16:14:56 +00:00
Tom Christie
a8dd079be7
Raise TypeError if content is passed a 'dict' instance. (#2495) 2022-12-11 19:12:08 +00:00
Demetri
40a0da093b
Add back in URL.raw with NamedTuple (#2481)
* add back in URL.raw with NamedTuple

* Update _urls.py

* Update _urls.py

Co-authored-by: Tom Christie <tom@tomchristie.com>
2022-12-02 16:20:05 +00:00
Martijn Pieters
57aa5b08a4
Enable no_implicit_reexport (#2475)
- Add explicit exports for names imported from `_compat`
- Correct imports of `URL` (from `._urls`, not via `._models`)
- Correct import of the uvicorn `Server` class

Co-authored-by: Tom Christie <tom@tomchristie.com>
2022-11-30 13:11:22 +00:00
Martijn Pieters
2d37321842
Typing: enable warn_return_any (#2477) 2022-11-30 13:08:02 +00:00
Michael Oliver
0eb97fc988
Use wsgi types from typeshed (#2478) 2022-11-30 09:48:51 +00:00
Adrian Garcia Badaracco
1ff67ea47c
Typing: use wsgiref.types to validate types and fix issues uncovered (#2467)
* Typing: use wsgiref.types to validate types and fix issues uncovered

- start_response() must return a write(bytes) function, even though this
  is now deprecated. It's fine to be a no-op here.
- sys.exc_info() can return (None, None, None), so make sure to handle that case.

* remove typing_extensions

Co-authored-by: Martijn Pieters <mj@zopatista.com>
2022-11-29 17:55:21 +00:00
rettier
8327e13454
reuse the digest auth state to avoid unnecessary requests (#2463)
* reuse the digest auth challenge to avoid sending twice as many requests

* fix for digest testcase

* ran testing/linting scripts

* codereview changes, removed tomchristie username from all authentication tests

Co-authored-by: Philipp Reitter <p.reitter@accessio.at>
Co-authored-by: Tom Christie <tom@tomchristie.com>
2022-11-29 17:05:37 +00:00
Adrian Garcia Badaracco
69e13cbc39
Remove and dissallow unused type ignores (#2470)
* Remove and dissallow unused type ignores

* add pragmas

* fix ignore
2022-11-29 16:55:45 +00:00
Adrian Garcia Badaracco
1b4e7fbb48
Typing: always fill in generic type parameters (#2468)
* Typing: always fill in generic type parameters

Being explicit about the parameters helps find bugs and makes the library
easier to use for users.

- Tell mypy to disallow generics without parameter values
- Give all generic types parameters values

* fix things that aren't coming in from other commits

* lint

Co-authored-by: Martijn Pieters <mj@zopatista.com>
Co-authored-by: Tom Christie <tom@tomchristie.com>
2022-11-29 16:36:03 +00:00
Adrian Garcia Badaracco
16e2830624
use # pragma: no cover instead of # pragma: nocover (#2471)
Co-authored-by: Tom Christie <tom@tomchristie.com>
2022-11-29 10:23:18 -06:00
Adrian Garcia Badaracco
75a13a15aa
Remove typeshed iscoroutine workaround (#2466)
This was resolved in typeshed and newer mypy versions have inherited the fix.

Co-authored-by: Martijn Pieters <mj@zopatista.com>
2022-11-29 02:45:10 -06:00
Tom Christie
1ba3e2ad4c
Switch extensions from Dict to Mapping. (#2465)
* Ignore Mapping -> Dict type error

* Fix type of ResponseExtension

* Switch extensions from Dict to Mapping
2022-11-28 12:29:02 +00:00
Tom Christie
f11eff45b7
Version 0.23.1 (#2442)
* Version 0.23.1

* Update dependencies

* Update CHANGELOG

* Update CHANGELOG.md

Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>

* Update CHANGELOG.md

Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
2022-11-18 12:48:32 +00:00
Tom Christie
8752e2672c
Drop .read/.aread from SyncByteStream/AsyncByteStream (#2407) 2022-11-07 14:01:29 +00:00
Ramazan Elsunakev
71ee50b277
Add parameters to generics in _client.py (#2266)
Co-authored-by: Tom Christie <tom@tomchristie.com>
Co-authored-by: Adrian Garcia Badaracco <1755071+adriangb@users.noreply.github.com>
2022-10-12 09:45:06 +01:00
Tom Christie
0ebe9259ac
Allow str content for multipart upload files (#2400) 2022-10-06 17:53:51 +01:00
Marcelo Trylesinski
cdde07f2aa
Add thread-safety note on the Client docstring (#2380) 2022-09-29 12:09:11 +02:00
Adrian Garcia Badaracco
8152c4facd
add basic type annotation for RequestExtensions and RequestData (#2367) 2022-09-13 09:24:01 -05:00
Tom Christie
d5900cd40e
Fix empty query params (#2354)
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
2022-09-02 14:24:45 +01:00
Tom Christie
965b8adec3
Allow tuple or list for multipart values (#2355) 2022-08-30 14:03:31 +01:00
Will Frey
ccd98b1a6d
Relax HeaderTypes type alias definition (#2317)
* Relax `HeaderTypes` type alias definition

This replaces `Dict[..., ...]` with `Mapping[..., ...]` in the union definition for `HeaderTypes`. Closes #2314.

* Update _models.py

Co-authored-by: Tom Christie <tom@tomchristie.com>
2022-08-30 12:46:19 +01:00
Florimond Manca
f13ab4d288
Replace cgi which will be deprecated in Python 3.11 (#2309)
* Replace cgi which will be deprecated in Python 3.11

* Update httpx/_utils.py
2022-08-25 12:23:04 +02:00
Adrian Garcia Badaracco
1526048c94
allow setting an explicit multipart boundary via headers (#2278) 2022-08-15 10:20:07 -05:00
dependabot[bot]
344e01e98a
Bump mypy from 0.910 to 0.961 (#2269)
* Bump mypy from 0.910 to 0.961

Bumps [mypy](https://github.com/python/mypy) from 0.910 to 0.961.
- [Release notes](https://github.com/python/mypy/releases)
- [Commits](https://github.com/python/mypy/compare/v0.910...v0.961)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Handle py37 iscoroutine type guard oddity

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: florimondmanca <florimond.manca@protonmail.com>
2022-06-19 12:50:04 +02:00
Tom Christie
9baf3a6cd2
Drop RawURL (#2241) 2022-05-30 14:54:47 +01:00
Will Frey
5b06aea1d6
Update _client.py (#2247)
Update the type annotation for the default_encoding parameter of AsyncClient's initializer to accept a callable of the form (bytes) -> str.
2022-05-26 13:53:31 +01:00
Tom Christie
89cdd903b2
Version 0.23.0 (#2214)
* Version 0.23.0

* Update changelog

* Update httpcore dependancy

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md
2022-05-23 16:31:12 +01:00
Tom Christie
1c33a2854e
Make charset auto-detection optional. (#2165)
* Add Response(..., default_encoding=...)

* Add tests for Response(..., default_encoding=...)

* Add Client(..., default_encoding=...)

* Switch default encoding to 'utf-8' instead of 'autodetect'

* Make charset_normalizer an optional dependancy, not a mandatory one.

* Documentation

* Use callable for default_encoding

* Update tests for new charset autodetection API

* Update docs for new charset autodetection API

* Update requirements

* Drop charset_normalizer from requirements
2022-05-23 16:27:32 +01:00
Michael Oliver
14a1704be5
Switch to explicit typing.Optional throughout (#2096)
* Fix issue with Mypy `--strict` and `AsyncExitStack`

* Enable `no_implicit_optional` in Mypy

* Ignore internal type errors

* Bump `httpcore`

* Remove unneeded type: ignore comments

Co-authored-by: Florimond Manca <florimond.manca@protonmail.com>
Co-authored-by: Michael Oliver <michael@michaeloliver.dev>
2022-05-20 11:12:25 +01:00
Michael Oliver
5eba32a61f
Remove RequestBodyUnavailable from module docstring (#2226)
Co-authored-by: Michael Oliver <michael@michaeloliver.dev>
2022-05-16 10:37:13 +01:00
Tom Christie
850b4801d6
Case insensitive algorithm detection for digest authentication. (#2204)
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
2022-05-09 10:42:57 +01:00
Alan Li
e9b0c85dd4
Patch copy_with (#2185)
* Patch `copy_with`

* Add a new test for `copy_with`
2022-05-03 11:33:13 +01:00
Michael Oliver
550fff933f
Add request getter/setter to HTTPError (#2158) 2022-04-01 11:10:32 +01:00
Tom Christie
3350d7e683
Close responses when on cancellations occur during reading. (#2156)
* Test case for clean stream closing on cancellations

* Test case for clean stream closing on cancellations

* Linting on tests

* responses should close on any BaseException
2022-03-31 13:41:40 +01:00
Ofek Lev
67c297069f
Drop EOL Python 3.6 (#2097)
Co-authored-by: Florimond Manca <florimond.manca@protonmail.com>
Co-authored-by: Tom Christie <tom@tomchristie.com>
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
2022-03-30 17:31:05 +02:00
Marcelo Trylesinski
3f9da8e0f5
Bump black to 22.3.0 (#2153)
* Bump black to 22.3.0

* Apply black
2022-03-30 09:56:57 +01:00
kk
c82885ac04
Fix cli docs --proxies #2124 (#2125) 2022-03-14 17:51:39 +01:00
Udasi Tharani
2a08edc471
adding keepalive_expiry param to docs and docstring (#2090) 2022-02-22 10:40:14 +00:00
Tom Christie
d07c4b4407
Move URL and QueryParams to new '_urls.py' module (#2084) 2022-02-16 21:02:13 +00:00