blob: 84f42711b209005bd29f06e667c7520e190bc1da (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#!/usr/bin/python
"""A WebSocket handler that enforces basic HTTP authentication. Username is
'foo' and password is 'bar'."""
from pywebsocket3.handshake import AbortedByUserException
def web_socket_do_extra_handshake(request):
authorization = request.headers_in.get('authorization')
if authorization is None or authorization != 'Basic Zm9vOmJhcg==':
if request.protocol == "HTTP/2":
request.status = 401
request.headers_out["Content-Length"] = "0"
request.headers_out['www-authenticate'] = 'Basic realm="camelot"'
else:
request.connection.write(b'HTTP/1.1 401 Unauthorized\x0d\x0a'
b'Content-Length: 0\x0d\x0a'
b'WWW-Authenticate: Basic realm="camelot"\x0d\x0a'
b'\x0d\x0a')
raise AbortedByUserException('Abort the connection')
def web_socket_transfer_data(request):
pass
|