Add Python WebSocket client that prints headers

This commit is contained in:
2025-06-19 04:48:51 +00:00
parent 77f03da6c0
commit 16dd42461d
2 changed files with 32 additions and 0 deletions
+5
View File
@@ -11,6 +11,11 @@ In another terminal, run the WebSocket server (listens on 8078):
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.
In development console you can directly connect to the WebSocket server using:
Executable
+27
View 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())