blob: 9269521cf0c7e94e7bb90779406dbf29e7497f29 [file] [log] [blame]
import struct
import time
from mod_pywebsocket import common
from mod_pywebsocket import util
def web_socket_do_extra_handshake(request):
pass
def web_socket_transfer_data(request):
length = 0x8000000000000000
# pywebsocket refuses to send a frame with too long payload.
# Thus, we need to build a frame manually.
header = util.pack_byte(0x80 | common.OPCODE_TEXT) # 0x80 is for "fin" bit.
header += util.pack_byte(127)
header += struct.pack('!Q', length)
request.connection.write(header)
# Send data indefinitely to simulate a real (broken) server sending a big
# frame. A client should ignore these bytes and abort the connection.
while True:
request.connection.write(b'X' * 4096)
time.sleep(1)