mirror of
https://github.com/YGGverse/aquatic.git
synced 2026-04-02 18:55:32 +00:00
ws: don't close connection when receiving ping message
This commit is contained in:
parent
8cab0297a1
commit
5ed876f934
1 changed files with 27 additions and 8 deletions
|
|
@ -463,15 +463,34 @@ impl<S: futures::AsyncRead + futures::AsyncWrite + Unpin> ConnectionReader<S> {
|
||||||
.await
|
.await
|
||||||
.ok_or_else(|| anyhow::anyhow!("Stream ended"))??;
|
.ok_or_else(|| anyhow::anyhow!("Stream ended"))??;
|
||||||
|
|
||||||
match InMessage::from_ws_message(message) {
|
match &message {
|
||||||
Ok(in_message) => {
|
tungstenite::Message::Text(_) | tungstenite::Message::Binary(_) => {
|
||||||
self.handle_in_message(in_message).await?;
|
match InMessage::from_ws_message(message) {
|
||||||
}
|
Ok(in_message) => {
|
||||||
Err(err) => {
|
self.handle_in_message(in_message).await?;
|
||||||
::log::debug!("Couldn't parse in_message: {:?}", err);
|
}
|
||||||
|
Err(err) => {
|
||||||
|
::log::debug!("Couldn't parse in_message: {:?}", err);
|
||||||
|
|
||||||
self.send_error_response("Invalid request".into(), None, None)
|
self.send_error_response("Invalid request".into(), None, None)
|
||||||
.await?;
|
.await?;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tungstenite::Message::Ping(_) => {
|
||||||
|
::log::trace!("Received ping message");
|
||||||
|
// tungstenite sends a pong response by itself
|
||||||
|
}
|
||||||
|
tungstenite::Message::Pong(_) => {
|
||||||
|
::log::trace!("Received pong message");
|
||||||
|
}
|
||||||
|
tungstenite::Message::Close(_) => {
|
||||||
|
::log::debug!("Client sent close frame");
|
||||||
|
|
||||||
|
break Ok(());
|
||||||
|
}
|
||||||
|
tungstenite::Message::Frame(_) => {
|
||||||
|
::log::warn!("Read raw websocket frame, this should not happen");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue