]> git.ipfire.org Git - thirdparty/starlette.git/log
thirdparty/starlette.git
15 months agoAccept `None` on `set_cookie(path=...)` (#2612)
Marcelo Trylesinski [Sat, 20 Jul 2024 09:02:20 +0000 (11:02 +0200)] 
Accept `None` on `set_cookie(path=...)` (#2612)

15 months agoAdd Starlette-Compress to third-party docs (#2642)
Kamil Monicz [Sat, 20 Jul 2024 07:26:57 +0000 (09:26 +0200)] 
Add Starlette-Compress to third-party docs (#2642)

* Add Starlette-Compress

* Update docs/third-party-packages.md

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

Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
15 months agodocs: add shiny to the frameworks sections (#2645)
Randy Zwitch [Sat, 20 Jul 2024 07:24:19 +0000 (03:24 -0400)] 
docs: add shiny to the frameworks sections (#2645)

15 months agoFix broken links (#2631)
rhoboro [Sat, 29 Jun 2024 12:02:09 +0000 (21:02 +0900)] 
Fix broken links (#2631)

16 months agoDon't print xfail on the test suite (#2609)
Marcelo Trylesinski [Tue, 4 Jun 2024 19:47:30 +0000 (21:47 +0200)] 
Don't print xfail on the test suite (#2609)

16 months agoAllow use of `memoryview` with `Response` (#2577)
Adrian Garcia Badaracco [Sat, 1 Jun 2024 13:12:34 +0000 (15:12 +0200)] 
Allow use of `memoryview` with `Response` (#2577)

16 months agoSend 404 instead of 500 when filename requested is too long on `StaticFiles` (#2583)
Jeremy Epstein [Sat, 1 Jun 2024 13:07:03 +0000 (23:07 +1000)] 
Send 404 instead of 500 when filename requested is too long on `StaticFiles` (#2583)

* Make "Filename too long" return 404 not 500

* Simplify code source

* Correct comment

---------

Co-authored-by: Jeremy Epstein <jeremy.epstein@seertechsolutions.com>
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
16 months agoUpdate type hints based on `jinja2` (#2604)
Marcelo Trylesinski [Sat, 1 Jun 2024 13:04:43 +0000 (15:04 +0200)] 
Update type hints based on `jinja2` (#2604)

* Update type hints based on jinja2

* Pin anyio

17 months agoFix documentation on client address type (#2580)
julien4215 [Thu, 25 Apr 2024 06:49:38 +0000 (08:49 +0200)] 
Fix documentation on client address type (#2580)

17 months agoRemove Esmerald from third party docs (#2578)
Marcelo Trylesinski [Tue, 23 Apr 2024 19:24:12 +0000 (21:24 +0200)] 
Remove Esmerald from third party docs (#2578)

18 months agoAllow returning memoryview in StreamingResponse (#2576)
Bas Schoenmaeckers [Mon, 22 Apr 2024 17:15:24 +0000 (19:15 +0200)] 
Allow returning memoryview in StreamingResponse (#2576)

18 months agorefactor: check endpoint handler is async only once (#2536)
Sebastian Kreft [Sat, 20 Apr 2024 08:26:15 +0000 (04:26 -0400)] 
refactor: check endpoint handler is async only once (#2536)

* refactor: check endpoint handler is async only once

We improve the dispatch in the routing module to only check once whether the handler is async. This gives an improvement of 2.5% (sync), 1.82% (async) in the number of requests/s. The average latency decreased 1.6% (sync) and 1.5% (async).

Note that we had to use a cast in the helper function, as the typeguard does not work for the negative case. In the main branch the code is working without a cast, because the typeguard return type is in practice `AwaitableCAllable[Any]`, which end up swallowing the other types in the union.

Benchmarking
We use a simple json app, with both a sync and async endpoint, and the wrk tool to get the measurements.

The measuerements were done on a Macbook Pro with M1 chip, 16GB of memory and macOS 12.3. The Python version used for the tests is Python 3.12.2, and the uvicorn version is 0.27.1

Before
```
$ wrk http://localhost:8000/sync
Running 10s test @ http://localhost:8000/sync
  2 threads and 10 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   733.77us   55.57us   3.21ms   78.35%
    Req/Sec     6.84k   147.06     7.15k    87.13%
  137474 requests in 10.10s, 18.35MB read
Requests/sec:  13610.69
Transfer/sec:      1.82MB

$ wrk http://localhost:8000/async
Running 10s test @ http://localhost:8000/async
  2 threads and 10 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   717.14us   49.05us   1.83ms   71.11%
    Req/Sec     7.00k   112.14     7.36k    76.24%
  140613 requests in 10.10s, 18.77MB read
Requests/sec:  13922.97
Transfer/sec:      1.86MB
````

After
```
$ wrk http://localhost:8000/sync
Running 10s test @ http://localhost:8000/sync
  2 threads and 10 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   721.34us  202.40us  11.13ms   99.32%
    Req/Sec     7.01k   230.04     7.62k    94.00%
  139558 requests in 10.00s, 18.63MB read
Requests/sec:  13956.14
Transfer/sec:      1.86MB

$ wrk http://localhost:8000/async
Running 10s test @ http://localhost:8000/async
  2 threads and 10 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   706.04us  109.90us   7.46ms   98.30%
    Req/Sec     7.12k   136.09     7.39k    90.59%
  143188 requests in 10.10s, 19.12MB read
Requests/sec:  14176.95
Transfer/sec:      1.89MB
```

The app used for the test is as follows
```python
from starlette.applications import Starlette
from starlette.responses import JSONResponse
from starlette.routing import Route
import uvicorn

async def async_page(request):
    return JSONResponse({'status': 'ok'})

async def sync_page(request):
    return JSONResponse({'status': 'ok'})

app = Starlette(routes=[
    Route('/async', async_page),
    Route('/sync', sync_page),
])

if __name__ == "__main__":
    uvicorn.run("app:app", port=8000, log_level="critical")
```

* Apply PR suggestion

---------

Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
18 months agoFail fast on invalid `Jinja2Template` instantiation parameters (#2568)
Pierre Delagrave [Sat, 20 Apr 2024 07:54:26 +0000 (03:54 -0400)] 
Fail fast on invalid `Jinja2Template` instantiation parameters (#2568)

Calling `Jinja2Template()` with both `directory` and `env` shouldn't be allowed. When both parameters were used, the passed `env` was silently ignored in favor of creating a new one with the provided `directory` and the deprecated `env_options`.

18 months agoFix typo in `SessionMiddleware` docs (#2559)
Daniel Erenrich [Wed, 17 Apr 2024 17:55:46 +0000 (10:55 -0700)] 
Fix typo in `SessionMiddleware` docs (#2559)

18 months agoUpdate SessionMiddleware and TrustedHostMiddleware Documentation (#2572)
Soul Lee [Mon, 15 Apr 2024 11:10:17 +0000 (20:10 +0900)] 
Update SessionMiddleware and TrustedHostMiddleware Documentation (#2572)

* Add 'path' argument in SessionMiddleware docs to reflect its presence in the code.

* Add 'www_redirect' argument in TrustedHostMiddleware docs to reflect its presence in the code.

18 months agoRemove old TODO on `scripts/check` (#2554) 2569/head
Marcelo Trylesinski [Fri, 29 Mar 2024 09:47:45 +0000 (10:47 +0100)] 
Remove old TODO on `scripts/check` (#2554)

18 months agoAdd missing `compresslevel` parameter on docs (#2553)
Jun-Ah 준아 [Mon, 25 Mar 2024 17:57:47 +0000 (02:57 +0900)] 
Add missing `compresslevel` parameter on docs (#2553)

* Add missing compresslevel parameter on docs

The compresslevel parameter was added in #1128.
But, it was not added to the document, so an explanation was added.

* Update docs/middleware.md

---------

Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
18 months agoAdd tests to `test_datastructure` (#2505)
Scirlat Danut [Sun, 24 Mar 2024 17:19:36 +0000 (19:19 +0200)] 
Add tests to `test_datastructure` (#2505)

* Add tests to test_datastructure

* Update tests

---------

Co-authored-by: Scirlat Danut <scirlatdanut@scirlats-mini.lan>
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
19 months agoVersion 0.37.2 (#2533) 0.37.2
Marcelo Trylesinski [Tue, 5 Mar 2024 16:08:44 +0000 (16:08 +0000)] 
Version 0.37.2 (#2533)

* Version 0.37.2

* Update docs/release-notes.md

19 months agoBump the python-packages group with 7 updates (#2532)
dependabot[bot] [Sat, 2 Mar 2024 12:35:35 +0000 (05:35 -0700)] 
Bump the python-packages group with 7 updates (#2532)

* Bump the python-packages group with 7 updates

Bumps the python-packages group with 7 updates:

| Package | From | To |
| --- | --- | --- |
| [coverage](https://github.com/nedbat/coveragepy) | `7.4.1` | `7.4.3` |
| [ruff](https://github.com/astral-sh/ruff) | `0.1.15` | `0.3.0` |
| [typing-extensions](https://github.com/python/typing_extensions) | `4.9.0` | `4.10.0` |
| [pytest](https://github.com/pytest-dev/pytest) | `8.0.0` | `8.0.2` |
| [mkdocs-material](https://github.com/squidfunk/mkdocs-material) | `9.5.6` | `9.5.12` |
| [build](https://github.com/pypa/build) | `1.0.3` | `1.1.1` |
| [twine](https://github.com/pypa/twine) | `4.0.2` | `5.0.0` |

Updates `coverage` from 7.4.1 to 7.4.3
- [Release notes](https://github.com/nedbat/coveragepy/releases)
- [Changelog](https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst)
- [Commits](https://github.com/nedbat/coveragepy/compare/7.4.1...7.4.3)

Updates `ruff` from 0.1.15 to 0.3.0
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/v0.1.15...v0.3.0)

Updates `typing-extensions` from 4.9.0 to 4.10.0
- [Release notes](https://github.com/python/typing_extensions/releases)
- [Changelog](https://github.com/python/typing_extensions/blob/main/CHANGELOG.md)
- [Commits](https://github.com/python/typing_extensions/compare/4.9.0...4.10.0)

Updates `pytest` from 8.0.0 to 8.0.2
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/8.0.0...8.0.2)

Updates `mkdocs-material` from 9.5.6 to 9.5.12
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.5.6...9.5.12)

Updates `build` from 1.0.3 to 1.1.1
- [Release notes](https://github.com/pypa/build/releases)
- [Changelog](https://github.com/pypa/build/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pypa/build/compare/1.0.3...1.1.1)

Updates `twine` from 4.0.2 to 5.0.0
- [Release notes](https://github.com/pypa/twine/releases)
- [Changelog](https://github.com/pypa/twine/blob/main/docs/changelog.rst)
- [Commits](https://github.com/pypa/twine/compare/4.0.2...5.0.0)

---
updated-dependencies:
- dependency-name: coverage
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-packages
- dependency-name: ruff
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
- dependency-name: typing-extensions
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
- dependency-name: pytest
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-packages
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-packages
- dependency-name: build
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
- dependency-name: twine
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: python-packages
...

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

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
19 months agoRevert "Turn `scope["client"]` to `None` on `TestClient` (#2377)" (#2525)
Amin Alaee [Thu, 29 Feb 2024 12:55:04 +0000 (13:55 +0100)] 
Revert "Turn `scope["client"]` to `None` on `TestClient` (#2377)" (#2525)

* Revert "Turn `scope["client"]` to `None` on `TestClient` (#2377)"

This reverts commit 483849a466a2bfc121f5a367339e1aa3ed20344b.

* format

* Add type hints

---------

Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
19 months agoEnforce `__future__.annotations` (#2483)
Marcelo Trylesinski [Thu, 29 Feb 2024 10:16:42 +0000 (11:16 +0100)] 
Enforce `__future__.annotations` (#2483)

19 months agoRemove deprecated `app` argument passed to `httpx.Client` on the `TestClient` (#2526)
Takeshi OSOEKAWA [Mon, 26 Feb 2024 08:42:52 +0000 (17:42 +0900)] 
Remove deprecated `app` argument passed to `httpx.Client` on the `TestClient` (#2526)

20 months agoAdd `bytes` to `_RequestData` type (#2510)
Massaki [Thu, 15 Feb 2024 08:27:20 +0000 (05:27 -0300)] 
Add `bytes` to `_RequestData` type (#2510)

20 months agoVersion 0.37.1 (#2498) 0.37.1
Timofey Vasenin [Fri, 9 Feb 2024 21:43:54 +0000 (04:43 +0700)] 
Version 0.37.1 (#2498)

* Version 0.37.1

* Update docs/release-notes.md

---------

Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
20 months agoRemove mypy skip flags (#2497)
Scirlat Danut [Fri, 9 Feb 2024 21:39:42 +0000 (23:39 +0200)] 
Remove mypy skip flags (#2497)

* Remove flags

* Apply suggestions from code review

* Remove mypy overrides

---------

Co-authored-by: Scirlat Danut <scirlatdanut@scirlats-mini.lan>
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
20 months agoAdd type hints to `test_responses.py` (#2488)
Scirlat Danut [Fri, 9 Feb 2024 09:29:28 +0000 (11:29 +0200)] 
Add type hints to `test_responses.py` (#2488)

* Add type hints to test_responses.py

* Update tests/test_responses.py

* Linter fix

* Apply suggestions from code review

* Apply suggestions from code review

---------

Co-authored-by: Scirlat Danut <scirlatdanut@scirlats-mini.lan>
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
20 months agoAdd type hints to `test_testclient.py` (#2493)
Scirlat Danut [Fri, 9 Feb 2024 09:13:38 +0000 (11:13 +0200)] 
Add type hints to `test_testclient.py` (#2493)

* Add type hints to test_testclient.py

* Fix check errors

* Apply suggestions from code review

* Use ASGIInstance instead

---------

Co-authored-by: Scirlat Danut <scirlatdanut@scirlats-mini.lan>
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
20 months agoAdd type hints to `test_templates.py` (#2492)
Scirlat Danut [Fri, 9 Feb 2024 09:07:45 +0000 (11:07 +0200)] 
Add type hints to `test_templates.py` (#2492)

* Add type hints to test_templates.py

* Remove any

* nitpick

---------

Co-authored-by: Scirlat Danut <scirlatdanut@scirlats-mini.lan>
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
20 months agoAdd type hints to `test_staticfiles.py` (#2491)
Scirlat Danut [Fri, 9 Feb 2024 08:58:52 +0000 (10:58 +0200)] 
Add type hints to `test_staticfiles.py` (#2491)

* Add type hints to test_staticfiles.py

* Remove any

* Remove ParamSpec

* Remove useless conditional

---------

Co-authored-by: Scirlat Danut <scirlatdanut@scirlats-mini.lan>
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
20 months agoAdd type hints to `test_routing.py` (#2489)
Scirlat Danut [Wed, 7 Feb 2024 20:17:51 +0000 (22:17 +0200)] 
Add type hints to `test_routing.py` (#2489)

* Add type hints to test_routing.py

* Apply suggestions from code review

* Fix check errors

* Apply suggestions from code review

---------

Co-authored-by: Scirlat Danut <scirlatdanut@scirlats-mini.lan>
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
20 months agoAdd type hints to `test_websockets.py` (#2494)
Scirlat Danut [Wed, 7 Feb 2024 19:56:21 +0000 (21:56 +0200)] 
Add type hints to `test_websockets.py` (#2494)

Co-authored-by: Scirlat Danut <scirlatdanut@scirlats-mini.lan>
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
20 months agoAdd type hints to `test_schemas.py` (#2490)
Scirlat Danut [Wed, 7 Feb 2024 18:47:23 +0000 (20:47 +0200)] 
Add type hints to `test_schemas.py` (#2490)

Co-authored-by: Scirlat Danut <scirlatdanut@scirlats-mini.lan>
20 months agoAdd type hints to `test_formparsers.py` (#2480)
Scirlat Danut [Tue, 6 Feb 2024 22:01:44 +0000 (00:01 +0200)] 
Add type hints to `test_formparsers.py` (#2480)

* added type annotations to test_formparsers.py

* Apply suggestions from code review

* Apply suggestions from code review

* Apply suggestions from code review

---------

Co-authored-by: Scirlat Danut <scirlatdanut@scirlats-mini.lan>
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
20 months agoWarn instead of exception for missing env file (#2485)
Mathias Hauser [Tue, 6 Feb 2024 21:58:35 +0000 (22:58 +0100)] 
Warn instead of exception for missing env file (#2485)

20 months agoAdd type hints to `test_authentication.py` (#2472)
Scirlat Danut [Tue, 6 Feb 2024 20:47:45 +0000 (22:47 +0200)] 
Add type hints to `test_authentication.py` (#2472)

* added type annotations to test_authentication.py

* fixed types

* Apply suggestions from code review

* Fix linting

* Fix linting

* Apply suggestions from code review

---------

Co-authored-by: Scirlat Danut <scirlatdanut@scirlats-mini.lan>
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
20 months agoAdd type hints to `test_applications.py` (#2471)
Scirlat Danut [Tue, 6 Feb 2024 20:30:47 +0000 (22:30 +0200)] 
Add type hints to `test_applications.py` (#2471)

* added type annotations to test_applications.py

* requested changes

* Apply suggestions from code review

* Apply suggestions from code review

* Update tests/test_applications.py

---------

Co-authored-by: Scirlat Danut <scirlatdanut@scirlats-mini.lan>
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
20 months agoAdd type hints to `test_requests.py` (#2481)
Scirlat Danut [Tue, 6 Feb 2024 20:18:43 +0000 (22:18 +0200)] 
Add type hints to `test_requests.py` (#2481)

* added type annotations to test_requests.py

* requested changes

* indentations

* typos

* typos

* Apply suggestions from code review

* Apply suggestions from code review

---------

Co-authored-by: Scirlat Danut <scirlatdanut@scirlats-mini.lan>
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
20 months agoAdd type hints to `test_gzip.py` (#2464)
Scirlat Danut [Mon, 5 Feb 2024 10:46:34 +0000 (12:46 +0200)] 
Add type hints to `test_gzip.py` (#2464)

* added type annotations to test_gzip.py

* Apply suggestions from code review

* Apply suggestions from code review

---------

Co-authored-by: Scirlat Danut <scirlatdanut@scirlats-mini.lan>
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
20 months agoVersion 0.37.0 (#2457) 0.37.0
Marcelo Trylesinski [Mon, 5 Feb 2024 06:54:55 +0000 (07:54 +0100)] 
Version 0.37.0 (#2457)

20 months agoAdded type annotations to test_endpoints.py (#2478)
Scirlat Danut [Sun, 4 Feb 2024 21:06:00 +0000 (23:06 +0200)] 
Added type annotations to test_endpoints.py (#2478)

* added type annotations to test_endpoints.py

* Apply suggestions from code review

---------

Co-authored-by: Scirlat Danut <scirlatdanut@scirlats-mini.lan>
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
20 months agoAdded type annotations to test_error.py (#2462)
Scirlat Danut [Sun, 4 Feb 2024 20:54:16 +0000 (22:54 +0200)] 
Added type annotations to test_error.py (#2462)

* added type annotations to test_error.py

* Apply suggestions from code review

---------

Co-authored-by: Scirlat Danut <scirlatdanut@scirlats-mini.lan>
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
20 months agoSupport the WebSocket Denial Response ASGI extension (#2041)
Kristján Valur Jónsson [Sun, 4 Feb 2024 20:16:10 +0000 (20:16 +0000)] 
Support the WebSocket Denial Response ASGI extension (#2041)

* supply asgi_extensions to TestClient

* Add WebSocket.send_response()

* Add response support for WebSocket testclient

* fix test for filesystem line-endings

* lintint

* support websocket.http.response extension by default

* Improve coverate

* Apply suggestions from code review

Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
* Undo unrelated change

* fix incorrect error message

* Update starlette/websockets.py

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

* Re-introduce close-code and close-reason to WebSocketReject

* Make sure the "websocket.connect" message is received in tests

* Deliver a websocket.disconnect message to the app even if it closes/rejects itself.

* Add test for filling out missing `websocket.disconnect` code

* Add rejection headers.  Expand tests.

* Fix types, headers in message are `bytes` tuples.

* Minimal WebSocket Denial Response implementation

* Revert "Minimal WebSocket Denial Response implementation"

This reverts commit 7af10ddcfa5423c18953cf5d1317cb5aa30a014c.

* Rename to send_denial_response and update documentation

* Remove the app_disconnect_msg.  This can be added later in a separate PR

* Remove status code 1005 from this PR

* Assume that the application has tested for the extension before sending websocket.http.response.start

* Rename WebSocketReject to WebSocketDenialResponse

* Remove code and status from WebSocketDenialResponse.
Just send a regular WebSocketDisconnect even when connection is rejected with close()

* Raise an exception if attempting to send a http response and server does not support it.

* WebSocketDenialClose and WebSocketDenialResponse
These are both instances of WebSocketDenial.

* Update starlette/testclient.py

Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
* Revert "WebSocketDenialClose and WebSocketDenialResponse"

This reverts commit 71b76e3f1c87064fe8458ff9d4ad0b242cbf15e7.

* Rename parameters, member variables

* Use httpx.Response as the base for WebSocketDenialResponse.

* Apply suggestions from code review

Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
* Update sanity check message

* Remove un-needed function

* Expand error message test regex

* Add type hings to test methods

* Add doc string to test.

* Fix mypy complaining about mismatching parent methods.

* nitpick & remove test

* Simplify the documentation

* Update starlette/testclient.py

* Update starlette/testclient.py

* Remove an unnecessary test

* there is no special "close because of rejection" in the testclient anymore.

---------

Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
20 months agoAdded type annotations to test_convertors.py (#2476)
Scirlat Danut [Sun, 4 Feb 2024 18:39:34 +0000 (20:39 +0200)] 
Added type annotations to test_convertors.py (#2476)

* added type annotations to test_convertors.py

* Apply suggestions from code review

---------

Co-authored-by: Scirlat Danut <scirlatdanut@scirlats-mini.lan>
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
20 months agoAdded type annotations to test_config.py (#2475)
Scirlat Danut [Sun, 4 Feb 2024 18:33:06 +0000 (20:33 +0200)] 
Added type annotations to test_config.py (#2475)

* added type annotations to test_config.py

* Apply suggestions from code review

---------

Co-authored-by: Scirlat Danut <scirlatdanut@scirlats-mini.lan>
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
20 months agoadded type annotations to test_http_redirect.py (#2465)
Scirlat Danut [Sun, 4 Feb 2024 18:30:43 +0000 (20:30 +0200)] 
added type annotations to test_http_redirect.py (#2465)

Co-authored-by: Scirlat Danut <scirlatdanut@scirlats-mini.lan>
20 months agoAdded type annotations to test_datastructures.py (#2477)
Scirlat Danut [Sun, 4 Feb 2024 18:27:43 +0000 (20:27 +0200)] 
Added type annotations to test_datastructures.py (#2477)

Co-authored-by: Scirlat Danut <scirlatdanut@scirlats-mini.lan>
20 months agoAdded type annotations to test_exceptions.py (#2479)
Scirlat Danut [Sun, 4 Feb 2024 18:21:41 +0000 (20:21 +0200)] 
Added type annotations to test_exceptions.py (#2479)

Co-authored-by: Scirlat Danut <scirlatdanut@scirlats-mini.lan>
20 months agoVersion 0.36.3 (#2460) 0.36.3
Marcelo Trylesinski [Sun, 4 Feb 2024 18:15:10 +0000 (19:15 +0100)] 
Version 0.36.3 (#2460)

20 months agoAdded type annotations to test_session.py (#2466)
Scirlat Danut [Sun, 4 Feb 2024 17:58:54 +0000 (19:58 +0200)] 
Added type annotations to test_session.py (#2466)

Co-authored-by: Scirlat Danut <scirlatdanut@scirlats-mini.lan>
20 months agoAdd type hints to `test_concurency.py` (#2474)
Scirlat Danut [Sun, 4 Feb 2024 17:15:40 +0000 (19:15 +0200)] 
Add type hints to `test_concurency.py` (#2474)

Co-authored-by: Scirlat Danut <scirlatdanut@scirlats-mini.lan>
20 months agoAdd type hints to `conftest.py` (#2469)
Scirlat Danut [Sun, 4 Feb 2024 17:13:09 +0000 (19:13 +0200)] 
Add type hints to `conftest.py` (#2469)

Co-authored-by: Scirlat Danut <scirlatdanut@scirlats-mini.lan>
20 months agoAdded type annotations to test__utils.py (#2470)
Scirlat Danut [Sun, 4 Feb 2024 16:50:59 +0000 (18:50 +0200)] 
Added type annotations to test__utils.py (#2470)

* added type annotations to test__utils.py

* ignore functools.partial sync type

* ruff fix

* typo

* type ignore

---------

Co-authored-by: Scirlat Danut <scirlatdanut@scirlats-mini.lan>
20 months agoAdd type hints to `test_background.py` (#2473)
Scirlat Danut [Sun, 4 Feb 2024 16:48:26 +0000 (18:48 +0200)] 
Add type hints to `test_background.py` (#2473)

Co-authored-by: Scirlat Danut <scirlatdanut@scirlats-mini.lan>
20 months agoAdd type hints to `test_trusted_host.py` (#2467)
Scirlat Danut [Sun, 4 Feb 2024 15:13:48 +0000 (17:13 +0200)] 
Add type hints to `test_trusted_host.py` (#2467)

Co-authored-by: Scirlat Danut <scirlatdanut@scirlats-mini.lan>
20 months agoAdd type hints to `test_wsgi.py` (#2468)
Scirlat Danut [Sun, 4 Feb 2024 15:11:13 +0000 (17:11 +0200)] 
Add type hints to `test_wsgi.py` (#2468)

Co-authored-by: Scirlat Danut <scirlatdanut@scirlats-mini.lan>
20 months agoCreate `anyio.Event` on async context (#2459)
Marcelo Trylesinski [Sun, 4 Feb 2024 12:50:31 +0000 (13:50 +0100)] 
Create `anyio.Event` on async context (#2459)

* Create `anyio.Event` using a blocking portal

* Use cached property

* Ups

20 months agoAdd type hints to `test_cors.py` (#2458)
Scirlat Danut [Sat, 3 Feb 2024 20:51:19 +0000 (22:51 +0200)] 
Add type hints to `test_cors.py` (#2458)

Co-authored-by: Scirlat Danut <scirlatdanut@scirlats-mini.lan>
20 months agoAdd type hints to `test_base.py` (#2445)
Scirlat Danut [Sat, 3 Feb 2024 16:54:21 +0000 (18:54 +0200)] 
Add type hints to `test_base.py` (#2445)

* added type annotations to test-base.py

* deleted unused imports

* fixed import order

* conditional import

* conditional import TestClient on types.py

* using string literals when importing in types

* added missing imports

* deleted starlette/types, refactored test_base types

* deleted types

---------

Co-authored-by: Scirlat Danut <scirlatdanut@scirlats-mini.lan>
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
20 months agoVersion 0.36.2 (#2456) 0.36.2
Marcelo Trylesinski [Sat, 3 Feb 2024 12:39:24 +0000 (13:39 +0100)] 
Version 0.36.2 (#2456)

* Version 0.36.2

* Apply suggestions from code review

* Update docs/release-notes.md

20 months agoMerge pull request from GHSA-93gm-qmq6-w238
Sebastián Ramírez [Sat, 3 Feb 2024 12:34:10 +0000 (13:34 +0100)] 
Merge pull request from GHSA-93gm-qmq6-w238

20 months agoAvoid duplicate charset on `Content-Type` (#2443)
Mikkel Duif [Sat, 3 Feb 2024 08:39:01 +0000 (09:39 +0100)] 
Avoid duplicate charset on `Content-Type` (#2443)

* fix(response): avoid duplicated charset

* Update docs/responses.md

---------

Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
20 months agoBump the python-packages group with 4 updates (#2455)
dependabot[bot] [Sat, 3 Feb 2024 08:01:51 +0000 (08:01 +0000)] 
Bump the python-packages group with 4 updates (#2455)

* Bump the python-packages group with 4 updates

Bumps the python-packages group with 4 updates: [coverage](https://github.com/nedbat/coveragepy), [ruff](https://github.com/astral-sh/ruff), [pytest](https://github.com/pytest-dev/pytest) and [mkdocs-material](https://github.com/squidfunk/mkdocs-material).

Updates `coverage` from 7.4.0 to 7.4.1
- [Release notes](https://github.com/nedbat/coveragepy/releases)
- [Changelog](https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst)
- [Commits](https://github.com/nedbat/coveragepy/compare/7.4.0...7.4.1)

Updates `ruff` from 0.1.13 to 0.1.15
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/v0.1.13...v0.1.15)

Updates `pytest` from 7.4.4 to 8.0.0
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.4.4...8.0.0)

Updates `mkdocs-material` from 9.5.5 to 9.5.6
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.5.5...9.5.6)

---
updated-dependencies:
- dependency-name: coverage
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-packages
- dependency-name: ruff
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-packages
- dependency-name: pytest
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: python-packages
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-packages
...

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

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
20 months agoFix nav override for newer version of Mkdocs Material (#2444)
François Voron [Fri, 26 Jan 2024 12:32:55 +0000 (13:32 +0100)] 
Fix nav override for newer version of Mkdocs Material (#2444)

21 months agoVersion 0.36.1 (#2440) 0.36.1
Marcelo Trylesinski [Tue, 23 Jan 2024 08:31:18 +0000 (09:31 +0100)] 
Version 0.36.1 (#2440)

21 months agoDowngrade mkdocs-material (#2439)
Marcelo Trylesinski [Tue, 23 Jan 2024 08:29:01 +0000 (09:29 +0100)] 
Downgrade mkdocs-material (#2439)

21 months agoCheck if "extensions" in scope before checking the extension (#2438)
Marcelo Trylesinski [Tue, 23 Jan 2024 07:42:18 +0000 (08:42 +0100)] 
Check if "extensions" in scope before checking the extension (#2438)

21 months agoVersion 0.36.0 (#2432) 0.36.0
Marcelo Trylesinski [Mon, 22 Jan 2024 20:36:10 +0000 (21:36 +0100)] 
Version 0.36.0 (#2432)

* Version 0.36.0

* Update release-notes.md

21 months agoAdd support for ASGI `pathsend` extension (#2435)
Giovanni Barillari [Mon, 22 Jan 2024 09:44:40 +0000 (10:44 +0100)] 
Add support for ASGI `pathsend` extension (#2435)

* add support for ASGI `pathsend` extension

* add test for ASGI `pathsend`

21 months agoUse `__future__.annotations` (#2433)
Marcelo Trylesinski [Sat, 20 Jan 2024 17:57:59 +0000 (18:57 +0100)] 
Use `__future__.annotations` (#2433)

* Use `__future__.annotations`

* fix linter

21 months agoRaise `WebSocketDisconnect` when `WebSocket.send()` excepts `IOError` (#2425)
Marcelo Trylesinski [Sat, 20 Jan 2024 15:08:22 +0000 (16:08 +0100)] 
Raise `WebSocketDisconnect` when `WebSocket.send()` excepts `IOError` (#2425)

* Raise `WebSocketDisconnect` when `WebSocket.send()` excepts `IOError`

* Restrict the IOError

21 months agoCancel `WebSocketTestSession` on close (#2427)
Marcelo Trylesinski [Sat, 20 Jan 2024 13:59:47 +0000 (14:59 +0100)] 
Cancel `WebSocketTestSession` on close (#2427)

* Cancel `WebSocketTestSession` on close

* Undo some noise

* Fix test

* Undo pyproject

* Undo anyio bump

* Undo changes on test_authentication

* Always call cancel scope

21 months agoRaise `FileNotFoundError` when the `env_file` parameter on `Config` is not valid...
Mathias Hauser [Sat, 20 Jan 2024 12:06:50 +0000 (13:06 +0100)] 
Raise `FileNotFoundError` when the `env_file` parameter on `Config` is not valid (#2422)

* raise error on missing env file

* format

---------

Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
21 months agoAdd PyPI versions supported (#2431)
Marcelo Trylesinski [Sat, 20 Jan 2024 10:43:45 +0000 (11:43 +0100)] 
Add PyPI versions supported (#2431)

21 months agoBump the python-packages group with 5 updates (#2418)
dependabot[bot] [Sat, 13 Jan 2024 11:02:01 +0000 (04:02 -0700)] 
Bump the python-packages group with 5 updates (#2418)

Bumps the python-packages group with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [mypy](https://github.com/python/mypy) | `1.7.1` | `1.8.0` |
| [ruff](https://github.com/astral-sh/ruff) | `0.1.9` | `0.1.13` |
| [pytest](https://github.com/pytest-dev/pytest) | `7.4.0` | `7.4.4` |
| [trio](https://github.com/python-trio/trio) | `0.23.2` | `0.24.0` |
| [mkdocs-material](https://github.com/squidfunk/mkdocs-material) | `9.1.17` | `9.5.3` |

Updates `mypy` from 1.7.1 to 1.8.0
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/python/mypy/compare/v1.7.1...v1.8.0)

Updates `ruff` from 0.1.9 to 0.1.13
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/v0.1.9...v0.1.13)

Updates `pytest` from 7.4.0 to 7.4.4
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.4.0...7.4.4)

Updates `trio` from 0.23.2 to 0.24.0
- [Release notes](https://github.com/python-trio/trio/releases)
- [Commits](https://github.com/python-trio/trio/compare/v0.23.2...v0.24.0)

Updates `mkdocs-material` from 9.1.17 to 9.5.3
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.1.17...9.5.3)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
- dependency-name: ruff
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-packages
- dependency-name: pytest
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-packages
- dependency-name: trio
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
21 months agoGroup dependencies on dependabot updates (#2415)
Marcelo Trylesinski [Sat, 13 Jan 2024 10:48:51 +0000 (11:48 +0100)] 
Group dependencies on dependabot updates (#2415)

21 months agoAdd type hint on `test_websockets.py` (#2411)
Marcelo Trylesinski [Fri, 12 Jan 2024 10:06:48 +0000 (11:06 +0100)] 
Add type hint on `test_websockets.py` (#2411)

* Add type hint on `test_websockets.py`

* Add type ignore on mock_receive

21 months agoVersion 0.35.1 (#2410) 0.35.1
Marcelo Trylesinski [Thu, 11 Jan 2024 19:57:49 +0000 (20:57 +0100)] 
Version 0.35.1 (#2410)

21 months agoMake `typing-extensions` optional again (#2409)
Marcelo Trylesinski [Thu, 11 Jan 2024 19:55:30 +0000 (20:55 +0100)] 
Make `typing-extensions` optional again (#2409)

21 months ago♻️ Do not use the deprecated `method` parameter in `FileResponse` inside of `StaticFi...
Sebastián Ramírez [Thu, 11 Jan 2024 15:17:18 +0000 (19:17 +0400)] 
♻️ Do not use the deprecated `method` parameter in `FileResponse` inside of `StaticFiles` (#2406)

* ♻️ Do not use the deprecated `method` parameter in `FileResponse` inside of` StaticFile`

* ✅ Add test for warning FileResponse with method argument

* 🔊 Remove warning filter for FileResponse with method

21 months agoVersion 0.35.0 (#2404) 0.35.0
Marcelo Trylesinski [Thu, 11 Jan 2024 14:29:36 +0000 (15:29 +0100)] 
Version 0.35.0 (#2404)

* Version 0.35.0

* Update release-notes.md

21 months ago♻️ Refactor logic to handle `root_path` to keep compatibility with ASGI and compatibi...
Sebastián Ramírez [Tue, 9 Jan 2024 04:45:30 +0000 (08:45 +0400)] 
♻️ Refactor logic to handle `root_path` to keep compatibility with ASGI and compatibility with other non-Starlette-specific libraries like a2wsgi (#2400)

* ✨ Add util to get route path from scope

* ♻️ Refactor extracting the local route_path from the scope, and creating the child scope with its own root_pat, this allows sub-apps (e.g. WSGIMiddleware) to know
where it was mounted, and from which path prefix starts the path its sub-app should handle

* ♻️ Refactor datastructures and request to be conformant with the ASGI spec, respecting root_path

* ✅ Add and update tests for root_path with mounted apps that don't know about Starlette internals (e.g. the route_root_path extension scope key that was added in

* ✅ Update test for root_path, TestClient was not requiring paths under a root_path to pass the root_path, which is what clients would have to do if the app is
mounted.

* 🎨 Fix formatting

* 🎨 Remove type ignore

* 🔥 Remove unnecessary comment

* ✨ Update (deprecated) WSGIMiddleware to be compatible with the updated root_path, taking pieces from a2wsgi

* 🎨 Fix types

* ✅ Update test for WSGIMiddleware with root_path

* 🔥 Remove logic/features not in the original (deprecated) WSGIMiddleware

---------

Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
Co-authored-by: Aber <me@abersheeran.com>
21 months agoBump trio from 0.22.2 to 0.23.2 (#2395)
dependabot[bot] [Mon, 8 Jan 2024 21:26:34 +0000 (21:26 +0000)] 
Bump trio from 0.22.2 to 0.23.2 (#2395)

* Bump trio from 0.22.2 to 0.23.2

Bumps [trio](https://github.com/python-trio/trio) from 0.22.2 to 0.23.2.
- [Release notes](https://github.com/python-trio/trio/releases)
- [Commits](https://github.com/python-trio/trio/compare/v0.22.2...v0.23.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
* Remove AnyIO from requirements.txt

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
21 months agoBump ruff from 0.1.6 to 0.1.9 (#2396)
dependabot[bot] [Mon, 8 Jan 2024 08:49:23 +0000 (08:49 +0000)] 
Bump ruff from 0.1.6 to 0.1.9 (#2396)

* Bump ruff from 0.1.6 to 0.1.9

Bumps [ruff](https://github.com/astral-sh/ruff) from 0.1.6 to 0.1.9.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/v0.1.6...v0.1.9)

---
updated-dependencies:
- dependency-name: ruff
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
21 months agoBump coverage from 7.3.2 to 7.4.0 (#2397)
dependabot[bot] [Mon, 1 Jan 2024 20:36:25 +0000 (21:36 +0100)] 
Bump coverage from 7.3.2 to 7.4.0 (#2397)

21 months agoBump typing-extensions from 4.8.0 to 4.9.0 (#2393)
dependabot[bot] [Mon, 1 Jan 2024 20:18:57 +0000 (13:18 -0700)] 
Bump typing-extensions from 4.8.0 to 4.9.0 (#2393)

Bumps [typing-extensions](https://github.com/python/typing_extensions) from 4.8.0 to 4.9.0.
- [Release notes](https://github.com/python/typing_extensions/releases)
- [Changelog](https://github.com/python/typing_extensions/blob/main/CHANGELOG.md)
- [Commits](https://github.com/python/typing_extensions/compare/4.8.0...4.9.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
21 months agoBump importlib-metadata from 6.9.0 to 7.0.1 (#2394)
dependabot[bot] [Mon, 1 Jan 2024 20:03:12 +0000 (13:03 -0700)] 
Bump importlib-metadata from 6.9.0 to 7.0.1 (#2394)

Bumps [importlib-metadata](https://github.com/python/importlib_metadata) from 6.9.0 to 7.0.1.
- [Release notes](https://github.com/python/importlib_metadata/releases)
- [Changelog](https://github.com/python/importlib_metadata/blob/main/NEWS.rst)
- [Commits](https://github.com/python/importlib_metadata/compare/v6.9.0...v7.0.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
21 months agoBump actions/setup-python from 4 to 5 (#2392)
dependabot[bot] [Mon, 1 Jan 2024 19:35:32 +0000 (12:35 -0700)] 
Bump actions/setup-python from 4 to 5 (#2392)

Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
21 months agoTurn `scope["client"]` to `None` on `TestClient` (#2377)
Amin Alaee [Mon, 25 Dec 2023 09:33:09 +0000 (13:03 +0330)] 
Turn `scope["client"]` to `None` on `TestClient` (#2377)

* Remove client scope from testclient

* remove test

* Update testclient.py

---------

Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
22 months agoUse `Iterable` instead `Iterator` on `iterate_in_threadpool` (#2362)
James Braza [Wed, 20 Dec 2023 21:59:58 +0000 (13:59 -0800)] 
Use `Iterable` instead `Iterator` on `iterate_in_threadpool` (#2362)

* Fixed AsyncContentStream to be AsyncIterator

* Updating isinstance check too

* Standardizing on Iterable/AsyncIterable

* Moved iterate_in_threadpool to make an iter internally

* Added test of iterate_in_threadpool accepting an Iterable

* Renamed arg to iterator, and fixed type hint in return to be AsyncIterator

---------

Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
22 months agoAdd `*args` to `Middleware` and improve its type hints (#2381)
Paweł Rubin [Wed, 20 Dec 2023 21:09:17 +0000 (22:09 +0100)] 
Add `*args` to `Middleware` and improve its type hints (#2381)

Co-authored-by: Paweł Rubin <pawel.rubin@ocado.com>
22 months agoVersion 0.34.0 (#2368) 0.34.0
Marcelo Trylesinski [Sat, 16 Dec 2023 15:36:01 +0000 (16:36 +0100)] 
Version 0.34.0 (#2368)

22 months agoRemove databases package from config docs (#2092)
Amin Alaee [Sat, 16 Dec 2023 15:05:39 +0000 (16:05 +0100)] 
Remove databases package from config docs (#2092)

Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
22 months agoAdd sentry to the third party packages (#2279)
Vageeshan Mankala [Sat, 16 Dec 2023 15:02:19 +0000 (07:02 -0800)] 
Add sentry to the third party packages (#2279)

* Update third-party-packages.md

* Update third-party-packages.md

* improve wording

---------

Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
22 months agoClarify that wildcard and credentials are mutually exclusive (#2210)
Diego Fioravanti [Sat, 16 Dec 2023 14:41:37 +0000 (15:41 +0100)] 
Clarify that wildcard and credentials are mutually exclusive (#2210)

Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
22 months agoAdd example on how to use `SessionMiddleware` (#2251)
Bernardo Gomes [Sat, 16 Dec 2023 14:24:57 +0000 (11:24 -0300)] 
Add example on how to use `SessionMiddleware` (#2251)

Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
22 months agoTake weak ETags in consideration on `StaticFiles` (#2334)
neolooong [Sat, 16 Dec 2023 14:13:21 +0000 (22:13 +0800)] 
Take weak ETags in consideration on `StaticFiles` (#2334)

Co-authored-by: Kar Petrosyan <92274156+karpetrosyan@users.noreply.github.com>
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
22 months agoMerge URLs properly on TestClient (#2376)
Marcelo Trylesinski [Sat, 16 Dec 2023 13:55:20 +0000 (14:55 +0100)] 
Merge URLs properly on TestClient (#2376)

22 months agoUse `ParamSpec` for `run_in_threadpool` (#2375)
Marcelo Trylesinski [Sat, 16 Dec 2023 12:51:24 +0000 (13:51 +0100)] 
Use `ParamSpec` for `run_in_threadpool` (#2375)

22 months agoDeprecate `FileResponse(method=...)` parameter (#2366)
Marcelo Trylesinski [Sat, 16 Dec 2023 12:47:54 +0000 (13:47 +0100)] 
Deprecate `FileResponse(method=...)` parameter (#2366)