Tue, 06 Jan 2015 21:39:09 +0100
Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.
michael@0 | 1 | from mod_pywebsocket import common |
michael@0 | 2 | from mod_pywebsocket import msgutil |
michael@0 | 3 | |
michael@0 | 4 | |
michael@0 | 5 | def web_socket_do_extra_handshake(request): |
michael@0 | 6 | pass # Always accept. |
michael@0 | 7 | |
michael@0 | 8 | |
michael@0 | 9 | def web_socket_transfer_data(request): |
michael@0 | 10 | expected_messages = ['Hello, world!', '', all_distinct_bytes()] |
michael@0 | 11 | |
michael@0 | 12 | for test_number, expected_message in enumerate(expected_messages): |
michael@0 | 13 | message = msgutil.receive_message(request) |
michael@0 | 14 | if type(message) == str and message == expected_message: |
michael@0 | 15 | msgutil.send_message(request, 'PASS: Message #%d.' % test_number) |
michael@0 | 16 | else: |
michael@0 | 17 | msgutil.send_message(request, 'FAIL: Message #%d: Received unexpected message: %r' % (test_number, message)) |
michael@0 | 18 | |
michael@0 | 19 | |
michael@0 | 20 | def all_distinct_bytes(): |
michael@0 | 21 | return ''.join([chr(i) for i in xrange(256)]) |