from mod_pywebsocket import common, msgutil def web_socket_do_extra_handshake(request): pmce_offered = False if request.ws_requested_extensions is not None: for extension_request in request.ws_requested_extensions: if extension_request.name() == "permessage-deflate": pmce_offered = True if pmce_offered is False: raise ValueError("permessage-deflate not offered") 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)