tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

file_check-binary-messages_wsh.py (778B)


      1 from mod_pywebsocket import msgutil
      2 
      3 
      4 def web_socket_do_extra_handshake(request):
      5    pass  # Always accept.
      6 
      7 
      8 def web_socket_transfer_data(request):
      9    expected_messages = ["Hello, world!", "", all_distinct_bytes()]
     10 
     11    for test_number, expected_message in enumerate(expected_messages):
     12        expected_message = expected_message.encode("latin-1")
     13        message = msgutil.receive_message(request)
     14        if message == expected_message:
     15            msgutil.send_message(request, f"PASS: Message #{test_number:d}.")
     16        else:
     17            msgutil.send_message(
     18                request,
     19                f"FAIL: Message #{test_number:d}: Received unexpected message: {message!r}",
     20            )
     21 
     22 
     23 def all_distinct_bytes():
     24    return "".join([chr(i) for i in range(256)])