Compare commits

1 Commits
main ... 1.1

6 changed files with 30 additions and 121 deletions

13
fix-websocket-tests.patch Normal file
View File

@@ -0,0 +1,13 @@
Index: uvicorn-0.22.0/tests/protocols/test_websocket.py
===================================================================
--- uvicorn-0.22.0.orig/tests/protocols/test_websocket.py
+++ uvicorn-0.22.0/tests/protocols/test_websocket.py
@@ -584,7 +584,7 @@ async def test_asgi_return_value(
async with run_server(config):
with pytest.raises(websockets.exceptions.ConnectionClosed) as exc_info:
await connect(f"ws://127.0.0.1:{unused_tcp_port}")
- assert exc_info.value.code == 1006
+ assert exc_info.value.code in {1000, 1006}
@pytest.mark.anyio

View File

@@ -1,95 +1,3 @@
-------------------------------------------------------------------
Thu May 1 06:28:46 UTC 2025 - Steve Kowalik <steven.kowalik@suse.com>
- Update to 0.34.2:
* Added
+ Add content-length to 500 response in wsproto implementation
* Fixed
+ Flush stdout buffer on Windows to trigger reload
+ Drop ASGI spec version to 2.3 on HTTP scope
+ Enable httptools lenient data on httptools >= 0.6.3
* Deprecated
+ Deprecate ServerState in the main module
* Removed
+ Drop support for Python 3.8
+ Remove WatchGod support for --reload
- Add patch support-websockets-14+.patch:
* Ignore multiple classes of DeprecationWarnings.
-------------------------------------------------------------------
Wed Oct 30 10:37:07 UTC 2024 - Dirk Müller <dmueller@suse.com>
- update to 0.32.0:
* Officially support Python 3.13
* Warn when `max_request_limit` is exceeded
* Support WebSockets 0.13.1
* Restore support for `[*]` in trusted hosts
* Add `PathLike[str]` type hint for `ssl_keyfile`
* Improve `ProxyHeadersMiddleware` (#2468) and (#2231):
* Fix the host for requests from clients running on the proxy
server itself.
* Fallback to host that was already set for empty x-forwarded-
for headers.
* Also allow to specify IP Networks as trusted hosts. This
greatly simplifies deployments
* on docker swarm/kubernetes, where the reverse proxy might
have a dynamic IP.
* This includes support for IPv6 Address/Networks.
* Don't warn when upgrade is not WebSocket and depedencies are
installed
* Don't close connection before receiving body on H11
* Close connection when `h11` sets client state to `MUST_CLOSE`
* Suppress `KeyboardInterrupt` from CLI and programmatic usage
* `ClientDisconnect` inherits from `OSError` instead of
`IOError`
* Add `reason` support to `websocket.disconnect` event
* Iterate subprocesses in-place on the process manager
* Allow horizontal tabs ` ` in response header values
* New multiprocess manager
* Allow `ConfigParser` or a `io.IO[Any]` on `log_config`
* Suppress side-effects of signal propagation
* Send `content-length` header on 5xx
* Deprecate the `uvicorn.workers` module
- drop fix-websocket-tests.patch,
0001-Stop-using-deprecated-app-shortcut-in-httpx.AsyncCli.patch:
upstream
-------------------------------------------------------------------
Mon Mar 25 20:19:46 UTC 2024 - Dan Čermák <dcermak@suse.com>
- New upstream release 0.29.0
* Cooperative signal handling (#1600) 19/03/24
* Revert raise `ClientDisconnected` on HTTP (#2276) 19/03/24
- Add patch:
* 0001-Stop-using-deprecated-app-shortcut-in-httpx.AsyncCli.patch
upstream fix for the testsuite with httpx 0.27
- Remove pointless Suggests:
-------------------------------------------------------------------
Sun Mar 17 10:11:10 UTC 2024 - Dirk Müller <dmueller@suse.com>
- update to 0.28.0:
* Raise `ClientDisconnected` on `send()` when client
disconnected (#2220) 12/02/24
* Except `AttributeError` on `sys.stdin.fileno()` for Windows
IIS10 (#1947) 29/02/24
* Use `X-Forwarded-Proto` for WebSockets scheme when the proxy
provides it (#2258) 01/03/24
* Fix spurious LocalProtocolError errors when processing
pipelined requests (#2243) 10/02/24
* Fix nav overrides for newer version of Mkdocs Material
(#2233) 26/01/24
* Raise `ClientDisconnect(IOError)` on `send()` when client
disconnected (#2218) 19/01/24
* Bump ASGI WebSocket spec version to 2.4 (#2221) 20/01/24
* Update `--root-path` to include the root path prefix in the
full ASGI `path` as per the ASGI spec (#2213) 16/01/24
* Use `__future__.annotations` on some internal modules (#2199)
16/01/24
-------------------------------------------------------------------
Tue Jan 30 12:43:20 UTC 2024 - Daniel Garcia <daniel.garcia@suse.com>

View File

@@ -1,7 +1,7 @@
#
# spec file for package python-uvicorn
#
# Copyright (c) 2025 SUSE LLC
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,26 +18,32 @@
%{?sle15_python_module_pythons}
Name: python-uvicorn
Version: 0.34.2
Version: 0.25.0
Release: 0
Summary: An Asynchronous Server Gateway Interface server
License: BSD-3-Clause
URL: https://github.com/encode/uvicorn
Source: https://github.com/encode/uvicorn/archive/%{version}.tar.gz#/uvicorn-%{version}.tar.gz
# PATCH-FIX-OPENSUSE Ignore the large amount of DeprecationWarnings that websockets 14 gave us
Patch0: support-websockets-14+.patch
# PATCH-FIX-UPSTREAM fix-websocket-tests.patch -- gh#encode/uvicorn#1929
Patch0: fix-websocket-tests.patch
BuildRequires: %{python_module base >= 3.8}
BuildRequires: %{python_module hatchling}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module typing-extensions >= 4 if %python-base < 3.11}
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-click >= 7.0
Requires: python-h11 >= 0.8.0
Requires: (python-typing-extensions >= 4 if python-base < 3.11)
Recommends: python-PyYAML >= 5.1
Recommends: python-httptools >= 0.4.0
Recommends: python-websockets >= 8.0
Suggests: python-uvloop >= 0.14.0
Suggests: python-watchfiles >= 0.13
Suggests: python-wsproto >= 1.2.0
Suggests: python-websockets
Requires(post): update-alternatives
Requires(postun): update-alternatives
BuildArch: noarch
@@ -46,10 +52,9 @@ BuildRequires: %{python_module PyYAML >= 5.1}
BuildRequires: %{python_module click >= 7.0}
BuildRequires: %{python_module h11 >= 0.8.0}
BuildRequires: %{python_module httptools >= 0.4.0}
BuildRequires: %{python_module httpx >= 0.27}
BuildRequires: %{python_module httpx >= 0.18}
BuildRequires: %{python_module pytest-asyncio}
BuildRequires: %{python_module pytest-mock}
BuildRequires: %{python_module pytest-xdist}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module python-dotenv}
BuildRequires: %{python_module requests}
@@ -57,7 +62,7 @@ BuildRequires: %{python_module trustme}
%if 0%{?suse_version} > 1500
BuildRequires: %{python_module uvloop >= 0.14.0}
%endif
BuildRequires: %{python_module websockets >= 10.4}
BuildRequires: %{python_module websockets >= 8.0}
BuildRequires: %{python_module wsproto >= 1.2.0}
# We don't want watchfiles in Ring1
#BuildRequires: #{python_module watchfiles >= 0.13}
@@ -94,14 +99,13 @@ ignore="--ignore tests/middleware/test_wsgi.py"
%if "%{_arch}" == "s390x"
ignore+=" --ignore tests/protocols/test_websocket.py"
%endif
# no longer raises an exception with Websockets 14+
%pytest $ignore -k 'not test_send_binary_data_to_server_bigger_than_default_on_websockets'
%pytest $ignore
%files %{python_files}
%doc README.md
%license LICENSE.md
%python_alternative %{_bindir}/uvicorn
%{python_sitelib}/uvicorn
%{python_sitelib}/uvicorn-%{version}.dist-info
%{python_sitelib}/uvicorn-%{version}*-info
%changelog

View File

@@ -1,16 +0,0 @@
Index: uvicorn-0.34.2/pyproject.toml
===================================================================
--- uvicorn-0.34.2.orig/pyproject.toml
+++ uvicorn-0.34.2/pyproject.toml
@@ -92,6 +92,11 @@ filterwarnings = [
"ignore:Uvicorn's native WSGI implementation is deprecated.*:DeprecationWarning",
"ignore: 'cgi' is deprecated and slated for removal in Python 3.13:DeprecationWarning",
"ignore: remove second argument of ws_handler:DeprecationWarning:websockets",
+ # Websockets 14+
+ "ignore: websockets.server.WebSocketServerProtocol is deprecated:DeprecationWarning",
+ "ignore: websockets.legacy is deprecated.*:DeprecationWarning",
+ "ignore: websockets.client.connect is deprecated:DeprecationWarning",
+ "ignore: websockets.exceptions.InvalidStatusCode is deprecated:DeprecationWarning",
]
[tool.coverage.run]

BIN
uvicorn-0.25.0.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
uvicorn-0.34.2.tar.gz (Stored with Git LFS)

Binary file not shown.