14
0

- version 4,11,2

* Fix incorrect disconnection reason reported when browser page is closed (commit)
  * Remove debugging prints 😊 (commit)
  * Pass a reason argument to the disconnect handler #393 (commit)
  * Add maxPayload to connection response #392 (commit) (thanks HeySMMReseller & HeySMMProvider!)
  * Client option to disable timestamps in connection URLs #386 (commit)
  * Return disconnected sessions as 400 errors #391 (commit)
  * Handle unicode errors in ASGI driver #389 (commit)
  * Replaced deprecated get_event_loop with get_running_loop #384 (commit)
  * Remove constructs required by older, now unsupported Python versions (commit)
  * Switched to pyenv-asyncio for async unit tests (commit)
  * Adopted unittest.mock.AsyncMock in async unit tests instead of homegrown version (commit)
  * Removed tests dependency on unittest.TestCase base class (commit)

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-python-engineio?expand=0&rev=20
This commit is contained in:
2025-03-24 09:14:15 +00:00
committed by Git OBS Bridge
commit f09daf0f9b
9 changed files with 295 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.osc

54
python-311.patch Normal file
View File

@@ -0,0 +1,54 @@
diff --git a/tests/asyncio/test_asyncio_server.py b/tests/asyncio/test_asyncio_server.py
index 47b3e6e..a55e1e0 100644
--- a/tests/asyncio/test_asyncio_server.py
+++ b/tests/asyncio/test_asyncio_server.py
@@ -278,9 +278,9 @@ def test_connect_custom_ping_times(self, import_module):
assert packets[0].data['pingTimeout'] == 123000
assert packets[0].data['pingInterval'] == 456000
- @mock.patch('engineio.asyncio_socket.AsyncSocket')
@mock.patch('importlib.import_module')
- def test_connect_bad_poll(self, import_module, AsyncSocket):
+ @mock.patch('engineio.asyncio_server.asyncio_socket.AsyncSocket')
+ def test_connect_bad_poll(self, AsyncSocket, import_module):
a = self.get_async_mock()
import_module.side_effect = [a]
AsyncSocket.return_value = self._get_mock_socket()
@@ -290,9 +290,9 @@ def test_connect_bad_poll(self, import_module, AsyncSocket):
assert a._async['make_response'].call_count == 1
assert a._async['make_response'].call_args[0][0] == '400 BAD REQUEST'
- @mock.patch('engineio.asyncio_socket.AsyncSocket')
@mock.patch('importlib.import_module')
- def test_connect_transport_websocket(self, import_module, AsyncSocket):
+ @mock.patch('engineio.asyncio_server.asyncio_socket.AsyncSocket')
+ def test_connect_transport_websocket(self, AsyncSocket, import_module):
a = self.get_async_mock(
{
'REQUEST_METHOD': 'GET',
@@ -312,9 +312,9 @@ def test_connect_transport_websocket(self, import_module, AsyncSocket):
== packet.OPEN
)
- @mock.patch('engineio.asyncio_socket.AsyncSocket')
@mock.patch('importlib.import_module')
- def test_http_upgrade_case_insensitive(self, import_module, AsyncSocket):
+ @mock.patch('engineio.asyncio_server.asyncio_socket.AsyncSocket')
+ def test_http_upgrade_case_insensitive(self, AsyncSocket, import_module):
a = self.get_async_mock(
{
'REQUEST_METHOD': 'GET',
@@ -334,11 +334,10 @@ def test_http_upgrade_case_insensitive(self, import_module, AsyncSocket):
== packet.OPEN
)
- @mock.patch('engineio.asyncio_socket.AsyncSocket')
@mock.patch('importlib.import_module')
+ @mock.patch('engineio.asyncio_server.asyncio_socket.AsyncSocket')
def test_connect_transport_websocket_closed(
- self, import_module, AsyncSocket
- ):
+ self, AsyncSocket, import_module):
a = self.get_async_mock(
{
'REQUEST_METHOD': 'GET',

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7f087b42d58dba827ddfb40f3b08b2ecc7543d1ab5a9e07f25b1a577e9d0692e
size 317153

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5d2444d8d70ef841c1101e9d3ca7f9b3567c620744b77cfeed149346b07a33e7
size 319497

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1f6ff1c3b3463a453b8eafa7a81f1dd52bd1728bf524988f9ab99b71c31a8d8e
size 300665

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2a32585d8fecd0118264fe0c39788670456ca9aa466d7c026d995cfff68af164
size 88626

View File

@@ -0,0 +1,131 @@
-------------------------------------------------------------------
Sun Mar 23 17:44:26 UTC 2025 - Axel Braun <axel.braun@gmx.de>
- version 4,11,2
* Fix incorrect disconnection reason reported when browser page is closed (commit)
* Remove debugging prints :blush: (commit)
* Pass a reason argument to the disconnect handler #393 (commit)
* Add maxPayload to connection response #392 (commit) (thanks HeySMMReseller & HeySMMProvider!)
* Client option to disable timestamps in connection URLs #386 (commit)
* Return disconnected sessions as 400 errors #391 (commit)
* Handle unicode errors in ASGI driver #389 (commit)
* Replaced deprecated get_event_loop with get_running_loop #384 (commit)
* Remove constructs required by older, now unsupported Python versions (commit)
* Switched to pyenv-asyncio for async unit tests (commit)
* Adopted unittest.mock.AsyncMock in async unit tests instead of homegrown version (commit)
* Removed tests dependency on unittest.TestCase base class (commit)
-------------------------------------------------------------------
Fri Nov 8 07:49:41 UTC 2024 - Daniel Garcia <daniel.garcia@suse.com>
- Add missing dependency python-simple-websocket
-------------------------------------------------------------------
Fri Oct 18 10:52:04 UTC 2024 - Dirk Müller <dmueller@suse.com>
- update to 4.10.1:
* Reject request with incorrect transport #367 (commit)
* Reject requests with incorrect transport #367 (commit)
* Fixed runtime error when disconnecting all clients #368
(commit)
* More flexible handling of the ASGI path #359 (commit)
* Remove unused parameter in log message #377 (commit)
* Minor updates to the server and client documentation (commit)
* Add Python 3.13 CI builds (commit)
* Run tests with mocked eventlet to avoid 3.13 failures
(commit)
-------------------------------------------------------------------
Wed Aug 14 00:46:24 UTC 2024 - Guang Yee <gyee@suse.com>
- Update to version 4.8.0
* Return consistent responses after Websocket connection ends
* Migrate Python package metadata to pyproject.toml
* Remove Python 3.7 from builds
* Internal code restructure (no functional changes)
- Drop python-311.patch as it is included upstream
-------------------------------------------------------------------
Fri Dec 1 16:43:25 UTC 2023 - Antonio Larrosa <alarrosa@suse.com>
- Add %{?sle15_python_module_pythons}
-------------------------------------------------------------------
Tue Feb 21 10:05:49 UTC 2023 - Daniel Garcia <daniel.garcia@suse.com>
- Add python-311.patch to support python 3.11,
gh#miguelgrinberg/python-engineio@ac3911356fbe
-------------------------------------------------------------------
Thu Oct 6 22:22:07 UTC 2022 - Yogalakshmi Arunachalam <yarunachalam@suse.com>
- Update to version 4.3.4
* Let companion ASGI app handle lifespan events #287 (commit)
* Use configured request timeout when making a WebSocket connection #286 (commit) (thanks jpfarias!)
- Update to version 4.3.3
* Handle ASGI lifespan when running with a secondary ASGI app #284 (commit) (thanks mozartilize!)
* Update deprecated usage of asyncio.wait() #281 (commit) (thanks Ben Beasley!)
* Better handling of queued WebSocket messages in uWSGI #256 (commit)
* Gracefully fail to decode empty packets #269 (commit)
* Only attempt to set an async signal handler once #276 (commit)
- Update to version 4.3.2
* Option to use a callable for cors_allowed_origins #264 (commit)
* Close aiohttp session when disconnecting #272 (commit)
* Remove 3.6 and pypy-3.6 builds, add 3.10 and pypy-3.8 (commit)
-------------------------------------------------------------------
Wed Jan 19 12:31:11 UTC 2022 - Axel Braun <axel.braun@gmx.de>
- version 4.3.1
* Fix support for Sanic v21.9.0 and up (commit) (thanks 13g10n!)
* Include example code in flake8 pass (commit)
* Remove unused version constant #262 (commit 1 commit 2)
* Backward incompatible change: Reject websocket messages larger than max_http_buffer_size #260 (commit)
* Enable or disable specific transports #259 (commit) (thanks Maciej Szeptuch!)
* Option to disable the SIGINT handler in the client (commit)
* Support binary packets with zero length #257 (commit)
* Improve documentation on start_background_task() function (commit)
* Remove unsanitized client input from error messages #250 (commit) (thanks André Carvalho!)
* Use plaintext Content-Type when using polling #248 (commit) (thanks Tobias!)
* Return better error messages for client connection errors #243 (commit)
* Reuse the aiohttp client session on reconnects #226 (commit)
* Support setting socketio_path to the root URL #242 (commit)
* Use the gevent selector to avoid 1024 file handle limitation of select#228 (commit)
* Pass reason when closing a WebSocket connection (commit)
* Improved project structure (commit)
* Remove executable permissions from files that lack shebang lines #240 (commit) (thanks Ben Beasley!)
-------------------------------------------------------------------
Tue May 25 17:35:08 UTC 2021 - Ben Greiner <code@bnavigator.de>
- Update to 4.2.0
* large changelog: see CHANGES.md
-------------------------------------------------------------------
Sun May 16 09:42:45 UTC 2021 - Axel Braun <axel.braun@gmx.de>
- python2 build removed
-------------------------------------------------------------------
Sun Nov 29 00:45:14 UTC 2020 - John Vandenberg <jayvdb@gmail.com>
- Convert to single spec
- Remove merged patch CVE-2019-13611.patch
- Activate test suite
- Update to v3.14.1
-------------------------------------------------------------------
Tue Aug 13 18:52:37 UTC 2019 - eapodaca@suse.com
- Add patch CVE-2019-13611.patch (SOC-9989) (bsc#1141676)
* python-python-engineio: An issue was discovered in
python-engineio through 3.8.2. There is a Cross-Site WebSocket
Hijacking (CSWSH) vulnerability that allows attackers to make
WebSocket connections to a server
-------------------------------------------------------------------
Thu Feb 1 15:27:05 UTC 2018 - gsmith@suse.com
- Initial version 2.0.2

View File

@@ -0,0 +1,74 @@
#
# spec file for package python-python-engineio
#
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%{?sle15_python_module_pythons}
Name: python-python-engineio
Version: 4.11.2
Release: 0
Summary: EngineIO server
License: MIT
URL: http://github.com/miguelgrinberg/python-engineio/
Source: https://github.com/miguelgrinberg/python-engineio/archive/v%{version}.tar.gz#/python-engineio-%{version}.tar.gz
BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module simple-websocket >= 0.10.0}
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-simple-websocket
Recommends: python-eventlet
Suggests: python-aiohttp >= 3.4
Suggests: python-requests >= 2.21.0
Suggests: python-websocket-client >= 0.54.0
BuildArch: noarch
# SECTION test requirements
BuildRequires: %{python_module aiohttp >= 3.4}
BuildRequires: %{python_module eventlet}
BuildRequires: %{python_module pytest-asyncio}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module requests >= 2.21.0}
BuildRequires: %{python_module tornado}
BuildRequires: %{python_module websocket-client >= 0.54.0}
# /SECTION
%python_subpackages
%description
Python implementation of the Engine.IO realtime server.
%prep
%autosetup -p1 -n python-engineio-%{version}
%build
%pyproject_wheel
%install
%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
# FIXME: disable the static files tests because the tests/async/files is missing from
# the release tarball. Hence those tests will always fail.
%pytest -rs -k 'not test_logger and not test_static_file_routing and not test_static_files and not testserver'
%files %{python_files}
%doc README.md
%license LICENSE
%{python_sitelib}/engineio
%{python_sitelib}/python_engineio-%{version}*-info
%changelog