forked from pool/python-starlette
Compare commits
12 Commits
| Author | SHA256 | Date | |
|---|---|---|---|
| f19e403868 | |||
| 973c2f89e0 | |||
| ab72e566b1 | |||
| 6efb479e30 | |||
| 6435e99b98 | |||
| 218e589c26 | |||
| 5b45d99ec9 | |||
| b44c5d4bb2 | |||
| 2a6ee2b320 | |||
| 6c55d1424a | |||
| 9d18310d7e | |||
| 673187f1e3 |
@@ -1,3 +1,74 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Dec 12 16:09:18 UTC 2024 - Ben Greiner <code@bnavigator.de>
|
||||||
|
|
||||||
|
- Add starlette-pr2773-httpx0.28.patch gh#encode/starlette#2773
|
||||||
|
for httpx 0.28
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Nov 20 17:28:31 UTC 2024 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- update to 0.41.3:
|
||||||
|
* Exclude the query parameters from the `scope[raw_path]` on
|
||||||
|
the `TestClient` #2716.
|
||||||
|
* Replace `dict` by `Mapping` on `HTTPException.headers` #2749.
|
||||||
|
* Correct middleware argument passing and improve factory
|
||||||
|
pattern #2752.
|
||||||
|
- update to 0.41.2:
|
||||||
|
* Revert bump on `python-multipart`
|
||||||
|
- update to 0.41.1:
|
||||||
|
* Bump minimum `python-multipart` version to 0.0.13
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Nov 7 09:20:47 UTC 2024 - Nico Krapp <nico.krapp@suse.com>
|
||||||
|
|
||||||
|
- disable PendingDeprecationWarning
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Oct 16 04:18:23 UTC 2024 - Steve Kowalik <steven.kowalik@suse.com>
|
||||||
|
|
||||||
|
- Update to 0.41.0:
|
||||||
|
* Allow to raise HTTPException before websocket.accept().
|
||||||
|
* Add max_part_size to MultiPartParser to limit the size of parts in
|
||||||
|
multipart/form-data requests. (bsc#1231689, CVE-2024-47874)
|
||||||
|
* Allow use of request.url_for when only "app" scope is available.
|
||||||
|
* Avoid regex re-compilation in responses.py and schemas.py.
|
||||||
|
* Improve performance of get_route_path by removing regular expression
|
||||||
|
usage.
|
||||||
|
* Consider FileResponse.chunk_size when handling multiple ranges.
|
||||||
|
* Use token_hex for generating multipart boundary strings.
|
||||||
|
* Add support for HTTP Range to FileResponse.
|
||||||
|
* Close unclosed MemoryObjectReceiveStream in TestClient.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Sep 8 15:05:40 UTC 2024 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- update to 0.38.5:
|
||||||
|
* Schedule `BackgroundTasks` from within `BaseHTTPMiddleware`
|
||||||
|
#2688.
|
||||||
|
- update to 0.38.4:
|
||||||
|
* Ensure accurate `root_path` removal in `get_route_path`
|
||||||
|
function #2600
|
||||||
|
- update to 0.38.3:
|
||||||
|
* Support for Python 3.13 #2662.
|
||||||
|
* Don't poll for disconnects in `BaseHTTPMiddleware` via
|
||||||
|
`StreamingResponse` #2620.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Aug 13 09:41:53 UTC 2024 - Daniel Garcia <daniel.garcia@suse.com>
|
||||||
|
|
||||||
|
- Update to 0.38.2:
|
||||||
|
* Fix routing.get_name() not to assume all routines have __name__ #2648
|
||||||
|
- 0.38.1:
|
||||||
|
* Revert "Add support for ASGI pathsend extension" #2649.
|
||||||
|
- 0.38.0:
|
||||||
|
* Allow use of memoryview in StreamingResponse and Response #2576
|
||||||
|
and #2577.
|
||||||
|
* Send 404 instead of 500 when filename requested is too long on
|
||||||
|
StaticFiles #2583.
|
||||||
|
* Fail fast on invalid Jinja2Template instantiation parameters #2568.
|
||||||
|
* Check endpoint handler is async only once #2536.
|
||||||
|
* Add proper synchronization to WebSocketTestSession #2597.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Sat Apr 20 08:10:00 UTC 2024 - Dirk Müller <dmueller@suse.com>
|
Sat Apr 20 08:10:00 UTC 2024 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
|||||||
@@ -27,12 +27,14 @@
|
|||||||
|
|
||||||
%{?sle15_python_module_pythons}
|
%{?sle15_python_module_pythons}
|
||||||
Name: python-starlette%{psuffix}
|
Name: python-starlette%{psuffix}
|
||||||
Version: 0.37.2
|
Version: 0.41.3
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Lightweight ASGI framework/toolkit
|
Summary: Lightweight ASGI framework/toolkit
|
||||||
License: BSD-3-Clause
|
License: BSD-3-Clause
|
||||||
URL: https://github.com/encode/starlette
|
URL: https://github.com/encode/starlette
|
||||||
Source: https://github.com/encode/starlette/archive/refs/tags/%{version}.tar.gz#/starlette-%{version}.tar.gz
|
Source: https://github.com/encode/starlette/archive/refs/tags/%{version}.tar.gz#/starlette-%{version}.tar.gz
|
||||||
|
# PATCH-FIX-UPSTREAM starlette-pr2773-httpx0.28.patch gh#encode/starlette#2773
|
||||||
|
Patch0: https://github.com/encode/starlette/pull/2773.patch#/starlette-pr2773-httpx0.28.patch
|
||||||
BuildRequires: %{python_module base >= 3.8}
|
BuildRequires: %{python_module base >= 3.8}
|
||||||
BuildRequires: %{python_module hatchling}
|
BuildRequires: %{python_module hatchling}
|
||||||
BuildRequires: %{python_module pip}
|
BuildRequires: %{python_module pip}
|
||||||
@@ -47,7 +49,7 @@ BuildRequires: %{python_module anyio >= 3.4.0}
|
|||||||
# SECTION [full]
|
# SECTION [full]
|
||||||
BuildRequires: %{python_module PyYAML}
|
BuildRequires: %{python_module PyYAML}
|
||||||
BuildRequires: %{python_module Jinja2}
|
BuildRequires: %{python_module Jinja2}
|
||||||
BuildRequires: %{python_module httpx >= 0.22}
|
BuildRequires: %{python_module httpx >= 0.28}
|
||||||
BuildRequires: %{python_module itsdangerous}
|
BuildRequires: %{python_module itsdangerous}
|
||||||
BuildRequires: %{python_module python-multipart >= 0.0.7}
|
BuildRequires: %{python_module python-multipart >= 0.0.7}
|
||||||
# /SECTION
|
# /SECTION
|
||||||
@@ -69,10 +71,12 @@ Starlette is a lightweight ASGI framework/toolkit, which is ideal for
|
|||||||
building high performance asyncio services.
|
building high performance asyncio services.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -n starlette-%{version}
|
%autosetup -p1 -n starlette-%{version}
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
%if ! %{with test}
|
||||||
%pyproject_wheel
|
%pyproject_wheel
|
||||||
|
%endif
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%if ! %{with test}
|
%if ! %{with test}
|
||||||
@@ -90,7 +94,7 @@ ignored_tests="test_set_cookie"
|
|||||||
ignored_tests="$ignored_tests or test_expires_on_set_cookie"
|
ignored_tests="$ignored_tests or test_expires_on_set_cookie"
|
||||||
# fails to raise a deprecation warning as of 2024/04/25
|
# fails to raise a deprecation warning as of 2024/04/25
|
||||||
ignored_tests="$ignored_tests or test_lifespan_with_on_events"
|
ignored_tests="$ignored_tests or test_lifespan_with_on_events"
|
||||||
%pytest --asyncio-mode=strict -k "not ($ignored_tests)"
|
%pytest -W ignore::PendingDeprecationWarning --asyncio-mode=strict -k "not ($ignored_tests)"
|
||||||
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
@@ -99,7 +103,7 @@ ignored_tests="$ignored_tests or test_lifespan_with_on_events"
|
|||||||
%doc README.md
|
%doc README.md
|
||||||
%license LICENSE.md
|
%license LICENSE.md
|
||||||
%{python_sitelib}/starlette
|
%{python_sitelib}/starlette
|
||||||
%{python_sitelib}/starlette-%{version}*-info
|
%{python_sitelib}/starlette-%{version}.dist-info
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:1bbb8b114ef94cedef5c2a320ff395dd2c6ab51e86ec605aec00976bd9314f4e
|
|
||||||
size 2846433
|
|
||||||
BIN
starlette-0.41.3.tar.gz
(Stored with Git LFS)
Normal file
BIN
starlette-0.41.3.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
68
starlette-pr2773-httpx0.28.patch
Normal file
68
starlette-pr2773-httpx0.28.patch
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
From b781c571068f4afc0417c7dfb8df2eda0547af55 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Marcelo Trylesinski <marcelotryle@gmail.com>
|
||||||
|
Date: Sat, 30 Nov 2024 10:32:50 +0100
|
||||||
|
Subject: [PATCH 1/2] Pin httpx in `full` extra
|
||||||
|
|
||||||
|
---
|
||||||
|
pyproject.toml | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/pyproject.toml b/pyproject.toml
|
||||||
|
index a532e4628..598d4333b 100644
|
||||||
|
--- a/pyproject.toml
|
||||||
|
+++ b/pyproject.toml
|
||||||
|
@@ -37,7 +37,7 @@ full = [
|
||||||
|
"jinja2",
|
||||||
|
"python-multipart>=0.0.7",
|
||||||
|
"pyyaml",
|
||||||
|
- "httpx>=0.22.0",
|
||||||
|
+ "httpx>=0.27.0,<0.29.0",
|
||||||
|
]
|
||||||
|
|
||||||
|
[project.urls]
|
||||||
|
|
||||||
|
From 24de2bfc8aa99a084a9b4fcfab1e52d7a6747cd9 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Marcelo Trylesinski <marcelotryle@gmail.com>
|
||||||
|
Date: Sat, 30 Nov 2024 10:51:11 +0100
|
||||||
|
Subject: [PATCH 2/2] fix test
|
||||||
|
|
||||||
|
---
|
||||||
|
tests/middleware/test_wsgi.py | 2 +-
|
||||||
|
tests/test_requests.py | 4 ++--
|
||||||
|
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/tests/middleware/test_wsgi.py b/tests/middleware/test_wsgi.py
|
||||||
|
index 58696bb65..e4ac66ab4 100644
|
||||||
|
--- a/tests/middleware/test_wsgi.py
|
||||||
|
+++ b/tests/middleware/test_wsgi.py
|
||||||
|
@@ -77,7 +77,7 @@ def test_wsgi_post(test_client_factory: TestClientFactory) -> None:
|
||||||
|
client = test_client_factory(app)
|
||||||
|
response = client.post("/", json={"example": 123})
|
||||||
|
assert response.status_code == 200
|
||||||
|
- assert response.text == '{"example": 123}'
|
||||||
|
+ assert response.text == '{"example":123}'
|
||||||
|
|
||||||
|
|
||||||
|
def test_wsgi_exception(test_client_factory: TestClientFactory) -> None:
|
||||||
|
diff --git a/tests/test_requests.py b/tests/test_requests.py
|
||||||
|
index f0494e751..665dceb87 100644
|
||||||
|
--- a/tests/test_requests.py
|
||||||
|
+++ b/tests/test_requests.py
|
||||||
|
@@ -91,7 +91,7 @@ async def app(scope: Scope, receive: Receive, send: Send) -> None:
|
||||||
|
assert response.json() == {"body": ""}
|
||||||
|
|
||||||
|
response = client.post("/", json={"a": "123"})
|
||||||
|
- assert response.json() == {"body": '{"a": "123"}'}
|
||||||
|
+ assert response.json() == {"body": '{"a":"123"}'}
|
||||||
|
|
||||||
|
response = client.post("/", data="abc") # type: ignore
|
||||||
|
assert response.json() == {"body": "abc"}
|
||||||
|
@@ -112,7 +112,7 @@ async def app(scope: Scope, receive: Receive, send: Send) -> None:
|
||||||
|
assert response.json() == {"body": ""}
|
||||||
|
|
||||||
|
response = client.post("/", json={"a": "123"})
|
||||||
|
- assert response.json() == {"body": '{"a": "123"}'}
|
||||||
|
+ assert response.json() == {"body": '{"a":"123"}'}
|
||||||
|
|
||||||
|
response = client.post("/", data="abc") # type: ignore
|
||||||
|
assert response.json() == {"body": "abc"}
|
||||||
Reference in New Issue
Block a user