Error using tokio tungstein

async fn handle_connection(mut stream: TcpStream) {
    let mut buffer = BufReader::new(&mut stream);
    let mut response = String::new();
    buffer.read_to_string(&mut response).await;
    // println!("{}", response);

    let responses = Response::new(&response);
    let path = responses.path();
    let method = responses.method();
    // println!("{}", path);

    if method == "GET" {
        // println!("{}", method);
        // println!("{}", path);
        if response.contains("Upgrade: websocket") {
            match path {
                "/billionaire" => {
                    println!("{}", path);
                    let stream = accept_async(stream).await;
                    if let Ok(bi) = stream {
                        let (send, mut recv) = bi.split();
                        if let Some(msg) = recv.next().await {
                            match msg {
                                Ok(msg) => {
                                    println!("{}", msg);
                                }
                                Err(err) => {
                                    println!("{}", err);
                                }
                            }
                        }
                    } else {
                        println!("{:?}", stream.err());
                    }
                }
                _ => {
                    println!("{}", path);
                }
            }
        }
    }
}

Some(Protocol(HandshakeIncomplete))