blob: 36169f4c28b7e9fa684e8b477af1c0c0546e9c1e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
from mod_pywebsocket import msgutil
from mod_pywebsocket import common
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)
|