File: basic_auth_server.py

package info (click to toggle)
python-websockets 15.0.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,948 kB
  • sloc: python: 25,105; javascript: 350; ansic: 148; makefile: 43
file content (23 lines) | stat: -rwxr-xr-x 614 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/usr/bin/env python

# Server example with HTTP Basic Authentication over TLS

import asyncio

from websockets.legacy.auth import basic_auth_protocol_factory
from websockets.legacy.server import serve

async def hello(websocket):
    greeting = f"Hello {websocket.username}!"
    await websocket.send(greeting)

async def main():
    async with serve(
        hello, "localhost", 8765,
        create_protocol=basic_auth_protocol_factory(
            realm="example", credentials=("mary", "p@ssw0rd")
        ),
    ):
        await asyncio.get_running_loop().create_future()  # run forever

asyncio.run(main())