Add Python WebSocket client that prints headers
This commit is contained in:
parent
5c48c6061e
commit
6e47f72ce8
@ -11,6 +11,11 @@ In another terminal, run the WebSocket server (listens on 8078):
|
|||||||
bun server.js
|
bun server.js
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Alternative server with Python:
|
||||||
|
```sh
|
||||||
|
uv run server.py
|
||||||
|
```
|
||||||
|
|
||||||
Then, open your browser and navigate to `http://localhost:5173` and open the developer console to see how it doesn't work.
|
Then, open your browser and navigate to `http://localhost:5173` and open the developer console to see how it doesn't work.
|
||||||
|
|
||||||
In development console you can directly connect to the WebSocket server using:
|
In development console you can directly connect to the WebSocket server using:
|
||||||
|
27
server.py
Executable file
27
server.py
Executable file
@ -0,0 +1,27 @@
|
|||||||
|
#!/usr/bin/env uv run
|
||||||
|
# /// script
|
||||||
|
# requires-python = ">=3.13"
|
||||||
|
# dependencies = [
|
||||||
|
# "websockets",
|
||||||
|
# ]
|
||||||
|
# ///
|
||||||
|
import asyncio
|
||||||
|
import websockets
|
||||||
|
from websockets.http import Headers
|
||||||
|
|
||||||
|
async def handler(ws):
|
||||||
|
while True:
|
||||||
|
msg = await ws.recv()
|
||||||
|
print(msg)
|
||||||
|
await ws.send(f"echo {msg}")
|
||||||
|
|
||||||
|
async def headers_printer(path, req):
|
||||||
|
for hdr, value in req.headers.items():
|
||||||
|
hdr += ":"
|
||||||
|
print(f"{hdr:30}{value}")
|
||||||
|
|
||||||
|
async def main():
|
||||||
|
async with websockets.serve(handler, '0.0.0.0', 8078, process_request=headers_printer):
|
||||||
|
await asyncio.Future()
|
||||||
|
|
||||||
|
asyncio.run(main())
|
Loading…
x
Reference in New Issue
Block a user