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