summaryrefslogtreecommitdiffstats
path: root/third_party/WebKit/LayoutTests/http/tests/websocket/close-code-and-reason_wsh.py
blob: 15a2d240dc037cbec2739255b34c231ffe118623 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import struct

from mod_pywebsocket import stream

def web_socket_do_extra_handshake(request):
    pass

def web_socket_transfer_data(request):
    line = request.ws_stream.receive_message()
    if line is None:
        return
    if line == '-':
        data = ''
    elif line == '--':
        data = 'X'
    else:
        code, reason = line.split(' ', 1)
        data = struct.pack('!H', int(code)) + reason.encode('utf-8')
    request.connection.write(stream.create_close_frame(data))