2 from mod_pywebsocket
import common
3 from mod_pywebsocket
import msgutil
6 def web_socket_do_extra_handshake(request
):
10 def web_socket_transfer_data(request
):
12 r
= request
.ws_resource
.split('?', 1)
14 params
= cgi
.parse_qs(r
[1])
15 if 'payload' in params
:
16 send_payload
= params
['payload'][0]
18 msgutil
.send_ping(request
, send_payload
)
20 # We need to use an internal function to detect a pong frame from the client.
21 opcode
, recv_payload
, final
, reserved1
, reserved2
, reserved3
= request
.ws_stream
._receive
_frame
()
22 if opcode
== common
.OPCODE_PONG
and recv_payload
== send_payload
and final
and not reserved1
and not reserved2
and not reserved3
:
23 msgutil
.send_message(request
, 'PASS')
25 msgutil
.send_message(request
,
26 'FAIL: Received unexpected frame: opcode = %r, payload = %r, final = %r, reserved1 = %r, reserved2 = %r, reserved3 = %r' %
27 (opcode
, recv_payload
, final
, reserved1
, reserved2
, reserved3
))