class WebSocket::Driver::Hybi
def handshake_response
def handshake_response sec_key = @socket.env['HTTP_SEC_WEBSOCKET_KEY'] return '' unless String === sec_key accept = Hybi.generate_accept(sec_key) 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 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 + [@headers.to_s, '']).join("\r\n") end