class Faye::WebSocket::HybiParser
def handshake_response
def handshake_response sec_key = @socket.env['HTTP_SEC_WEBSOCKET_KEY'] return '' unless String === sec_key accept = Base64.encode64(Digest::SHA1.digest(sec_key + Handshake::GUID)).strip protos = @socket.env['HTTP_SEC_WEBSOCKET_PROTOCOL'] supported = @protocols proto = nil headers = [ "HTTP/1.1 101 Switching Protocols", "Upgrade: websocket", "Connection: Upgrade", "Sec-WebSocket-Accept: #{accept}" ] if protos and supported protos = protos.split(/\s*,\s*/) if String === protos proto = protos.find { |p| supported.include?(p) } if proto @protocol = proto headers << "Sec-WebSocket-Protocol: #{proto}" end end (headers + ['','']).join("\r\n") end