class WebSocket::Driver::Draft76
def handshake_response
def handshake_response env = @socket.env key1 = env['HTTP_SEC_WEBSOCKET_KEY1'] key2 = env['HTTP_SEC_WEBSOCKET_KEY2'] raise ProtocolError.new('Missing required header: Sec-WebSocket-Key1') unless key1 raise ProtocolError.new('Missing required header: Sec-WebSocket-Key2') unless key2 number1 = number_from_key(key1) spaces1 = spaces_in_key(key1) number2 = number_from_key(key2) spaces2 = spaces_in_key(key2) if number1 % spaces1 != 0 or number2 % spaces2 != 0 raise ProtocolError.new('Client sent invalid Sec-WebSocket-Key headers') end @key_values = [number1 / spaces1, number2 / spaces2] start = 'HTTP/1.1 101 WebSocket Protocol Handshake' headers = [start, @headers.to_s, ''] headers.join("\r\n") end