Adding websocket blocking.

This commit is contained in:
Dessalines 2020-04-21 17:57:20 -04:00
parent 809cc1049e
commit 6b58080067
1 changed files with 11 additions and 3 deletions

View File

@ -896,10 +896,18 @@ where
let data = data.to_string();
let op2 = op.clone();
let fut = async move {
let parsed_data: Data = serde_json::from_str(&data)?;
let res = Oper::new(parsed_data).perform(pool, Some(ws_info))?;
to_json_string(&op, &res)
actix_web::web::block(move || {
let parsed_data: Data = serde_json::from_str(&data)?;
let res = Oper::new(parsed_data).perform(pool, Some(ws_info))?;
to_json_string(&op, &res)
})
.await
.map_err(|e| match e {
actix_web::error::BlockingError::Error(e) => e,
_ => APIError::err("Operation canceled").into(),
})
};
match op2 {