use actix_web::{web, Error, HttpRequest, HttpResponse};
use tokio::task::spawn_local;
use super::ChatServerHandle;
pub async fn ws(
req: HttpRequest,
stream: web::Payload,
chat_server: web::Data<ChatServerHandle>,
) -> Result<HttpResponse, Error> {
let (res, session, msg_stream) = actix_ws::handle(&req, stream)?;
spawn_local(super::chat_ws((**chat_server).clone(), session, msg_stream));
Ok(res)
}