from mod_pywebsocket import msgutil


def web_socket_do_extra_handshake(request):
    # must set request.ws_protocol to the selected version from ws_requested_protocols
    request.ws_protocol = request.ws_requested_protocols[0]

    if request.ws_protocol == "error":
        raise ValueError("Error")
    pass


def web_socket_transfer_data(request):
    while True:
        line = msgutil.receive_message(request)
        if line == "protocol":
            msgutil.send_message(request, request.ws_protocol)
            continue

        if line == "resource":
            msgutil.send_message(request, request.ws_resource)
            continue

        if line == "origin":
            msgutil.send_message(request, request.ws_origin)
            continue

        msgutil.send_message(request, line)

        if line == "end":
            return
