python-engineio 4.13.4__tar.gz → 4.13.5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {python_engineio-4.13.4/src/python_engineio.egg-info → python_engineio-4.13.5}/PKG-INFO +1 -11
- {python_engineio-4.13.4 → python_engineio-4.13.5}/README.md +0 -10
- {python_engineio-4.13.4 → python_engineio-4.13.5}/pyproject.toml +1 -1
- {python_engineio-4.13.4 → python_engineio-4.13.5}/src/engineio/async_drivers/asgi.py +2 -1
- {python_engineio-4.13.4 → python_engineio-4.13.5/src/python_engineio.egg-info}/PKG-INFO +1 -11
- {python_engineio-4.13.4 → python_engineio-4.13.5}/tests/async/test_asgi.py +21 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/tests/async/test_socket.py +19 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/LICENSE +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/MANIFEST.in +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/docs/_static/README.md +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/setup.cfg +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/src/engineio/__init__.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/src/engineio/async_client.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/src/engineio/async_drivers/__init__.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/src/engineio/async_drivers/_websocket_wsgi.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/src/engineio/async_drivers/aiohttp.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/src/engineio/async_drivers/eventlet.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/src/engineio/async_drivers/gevent.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/src/engineio/async_drivers/gevent_uwsgi.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/src/engineio/async_drivers/sanic.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/src/engineio/async_drivers/threading.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/src/engineio/async_drivers/tornado.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/src/engineio/async_server.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/src/engineio/async_socket.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/src/engineio/base_client.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/src/engineio/base_server.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/src/engineio/base_socket.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/src/engineio/client.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/src/engineio/exceptions.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/src/engineio/json.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/src/engineio/middleware.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/src/engineio/packet.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/src/engineio/payload.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/src/engineio/server.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/src/engineio/socket.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/src/engineio/static_files.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/src/python_engineio.egg-info/SOURCES.txt +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/src/python_engineio.egg-info/dependency_links.txt +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/src/python_engineio.egg-info/not-zip-safe +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/src/python_engineio.egg-info/requires.txt +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/src/python_engineio.egg-info/top_level.txt +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/tests/async/__init__.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/tests/async/index.html +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/tests/async/test_aiohttp.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/tests/async/test_client.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/tests/async/test_sanic.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/tests/async/test_server.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/tests/async/test_tornado.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/tests/common/__init__.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/tests/common/index.html +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/tests/common/test_client.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/tests/common/test_middleware.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/tests/common/test_packet.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/tests/common/test_payload.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/tests/common/test_server.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/tests/common/test_socket.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/tests/performance/README.md +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/tests/performance/binary_b64_packet.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/tests/performance/binary_packet.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/tests/performance/json_packet.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/tests/performance/payload.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/tests/performance/run.sh +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/tests/performance/server_receive.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/tests/performance/text_packet.py +0 -0
- {python_engineio-4.13.4 → python_engineio-4.13.5}/tox.ini +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-engineio
|
|
3
|
-
Version: 4.13.
|
|
3
|
+
Version: 4.13.5
|
|
4
4
|
Summary: Engine.IO server and client for Python
|
|
5
5
|
Author-email: Miguel Grinberg <miguel.grinberg@gmail.com>
|
|
6
6
|
License: MIT
|
|
@@ -33,16 +33,6 @@ python-engineio
|
|
|
33
33
|
|
|
34
34
|
Python implementation of the `Engine.IO` realtime client and server.
|
|
35
35
|
|
|
36
|
-
Sponsors
|
|
37
|
-
--------
|
|
38
|
-
|
|
39
|
-
The following organizations are funding this project:
|
|
40
|
-
|
|
41
|
-
<br>[Socket.IO](https://socket.io) | [Add your company here!](https://github.com/sponsors/miguelgrinberg)|
|
|
42
|
-
-|-
|
|
43
|
-
|
|
44
|
-
Many individual sponsors also support this project through small ongoing contributions. Why not [join them](https://github.com/sponsors/miguelgrinberg)?
|
|
45
|
-
|
|
46
36
|
Resources
|
|
47
37
|
---------
|
|
48
38
|
|
|
@@ -5,16 +5,6 @@ python-engineio
|
|
|
5
5
|
|
|
6
6
|
Python implementation of the `Engine.IO` realtime client and server.
|
|
7
7
|
|
|
8
|
-
Sponsors
|
|
9
|
-
--------
|
|
10
|
-
|
|
11
|
-
The following organizations are funding this project:
|
|
12
|
-
|
|
13
|
-
<br>[Socket.IO](https://socket.io) | [Add your company here!](https://github.com/sponsors/miguelgrinberg)|
|
|
14
|
-
-|-
|
|
15
|
-
|
|
16
|
-
Many individual sponsors also support this project through small ongoing contributions. Why not [join them](https://github.com/sponsors/miguelgrinberg)?
|
|
17
|
-
|
|
18
8
|
Resources
|
|
19
9
|
---------
|
|
20
10
|
|
|
@@ -147,7 +147,8 @@ async def translate_request(scope, receive, send):
|
|
|
147
147
|
while self.event.get('more_body'):
|
|
148
148
|
self.event = await receive()
|
|
149
149
|
if self.event['type'] == 'http.request':
|
|
150
|
-
|
|
150
|
+
if length is None or len(self.payload) < length:
|
|
151
|
+
self.payload += self.event.get('body') or b''
|
|
151
152
|
if length is None:
|
|
152
153
|
r = self.payload
|
|
153
154
|
self.payload = b''
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-engineio
|
|
3
|
-
Version: 4.13.
|
|
3
|
+
Version: 4.13.5
|
|
4
4
|
Summary: Engine.IO server and client for Python
|
|
5
5
|
Author-email: Miguel Grinberg <miguel.grinberg@gmail.com>
|
|
6
6
|
License: MIT
|
|
@@ -33,16 +33,6 @@ python-engineio
|
|
|
33
33
|
|
|
34
34
|
Python implementation of the `Engine.IO` realtime client and server.
|
|
35
35
|
|
|
36
|
-
Sponsors
|
|
37
|
-
--------
|
|
38
|
-
|
|
39
|
-
The following organizations are funding this project:
|
|
40
|
-
|
|
41
|
-
<br>[Socket.IO](https://socket.io) | [Add your company here!](https://github.com/sponsors/miguelgrinberg)|
|
|
42
|
-
-|-
|
|
43
|
-
|
|
44
|
-
Many individual sponsors also support this project through small ongoing contributions. Why not [join them](https://github.com/sponsors/miguelgrinberg)?
|
|
45
|
-
|
|
46
36
|
Resources
|
|
47
37
|
---------
|
|
48
38
|
|
|
@@ -441,6 +441,27 @@ class TestAsgi:
|
|
|
441
441
|
body = await environ['wsgi.input'].read()
|
|
442
442
|
assert body == b'hello world'
|
|
443
443
|
|
|
444
|
+
async def test_translate_request_read_zero(self):
|
|
445
|
+
receive = mock.AsyncMock(
|
|
446
|
+
return_value={'type': 'http.request', 'body': b'hello world'}
|
|
447
|
+
)
|
|
448
|
+
send = mock.AsyncMock()
|
|
449
|
+
environ = await async_asgi.translate_request(
|
|
450
|
+
{
|
|
451
|
+
'type': 'http',
|
|
452
|
+
'method': 'PUT',
|
|
453
|
+
'headers': [
|
|
454
|
+
(b'content-type', b'application/json'),
|
|
455
|
+
(b'content-length', b'123'),
|
|
456
|
+
],
|
|
457
|
+
'path': '/foo/bar',
|
|
458
|
+
},
|
|
459
|
+
receive,
|
|
460
|
+
send,
|
|
461
|
+
)
|
|
462
|
+
body = await environ['wsgi.input'].read(0)
|
|
463
|
+
assert body == b''
|
|
464
|
+
|
|
444
465
|
async def test_translate_websocket_request(self):
|
|
445
466
|
receive = mock.AsyncMock(return_value={'type': 'websocket.connect'})
|
|
446
467
|
send = mock.AsyncMock()
|
|
@@ -209,6 +209,8 @@ class TestSocket:
|
|
|
209
209
|
}
|
|
210
210
|
await s.handle_post_request(environ)
|
|
211
211
|
assert s.receive.await_count == 2
|
|
212
|
+
assert s.receive.call_args_list[0][0][0].data == 'hello'
|
|
213
|
+
assert s.receive.call_args_list[1][0][0].data == 'bye'
|
|
212
214
|
|
|
213
215
|
async def test_polling_write_too_large(self):
|
|
214
216
|
mock_server = self._get_mock_server()
|
|
@@ -227,6 +229,23 @@ class TestSocket:
|
|
|
227
229
|
with pytest.raises(exceptions.ContentTooLongError):
|
|
228
230
|
await s.handle_post_request(environ)
|
|
229
231
|
|
|
232
|
+
async def test_polling_write_without_content_length(self):
|
|
233
|
+
mock_server = self._get_mock_server()
|
|
234
|
+
pkt1 = packet.Packet(packet.MESSAGE, data='hello')
|
|
235
|
+
pkt2 = packet.Packet(packet.MESSAGE, data='bye')
|
|
236
|
+
p = payload.Payload(packets=[pkt1, pkt2]).encode().encode('utf-8')
|
|
237
|
+
s = async_socket.AsyncSocket(mock_server, 'foo')
|
|
238
|
+
s.receive = mock.AsyncMock()
|
|
239
|
+
environ = {
|
|
240
|
+
'REQUEST_METHOD': 'POST',
|
|
241
|
+
'QUERY_STRING': 'sid=foo',
|
|
242
|
+
'wsgi.input': self._get_read_mock_coro(p),
|
|
243
|
+
}
|
|
244
|
+
await s.handle_post_request(environ)
|
|
245
|
+
assert s.receive.await_count == 2
|
|
246
|
+
assert environ['wsgi.input'].read.call_count == 1
|
|
247
|
+
assert environ['wsgi.input'].read.call_args[0] == (0,)
|
|
248
|
+
|
|
230
249
|
async def test_upgrade_handshake(self):
|
|
231
250
|
mock_server = self._get_mock_server()
|
|
232
251
|
s = async_socket.AsyncSocket(mock_server, 'foo')
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_engineio-4.13.4 → python_engineio-4.13.5}/src/engineio/async_drivers/_websocket_wsgi.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_engineio-4.13.4 → python_engineio-4.13.5}/src/engineio/async_drivers/gevent_uwsgi.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_engineio-4.13.4 → python_engineio-4.13.5}/src/python_engineio.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_engineio-4.13.4 → python_engineio-4.13.5}/src/python_engineio.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|