blob: e6ea12232fed9bdafe39ff4601a4c92c5a35f52a (
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
|
from mod_pywebsocket import common, msgutil
def web_socket_do_extra_handshake(request):
deflate_found = False
if request.ws_extension_processors is not None:
for extension_processor in request.ws_extension_processors:
if extension_processor.name() == "deflate":
extension_processor.set_client_no_context_takeover(True)
deflate_found = True
if deflate_found is False:
raise ValueError("deflate extension processor not found")
def web_socket_transfer_data(request):
while True:
rcvd = msgutil.receive_message(request)
opcode = request.ws_stream.get_last_received_opcode()
if opcode == common.OPCODE_BINARY:
msgutil.send_message(request, rcvd, binary=True)
elif opcode == common.OPCODE_TEXT:
msgutil.send_message(request, rcvd)
|