From 79a982e3efb63e372a0c743313fb6ebd1f11b5de Mon Sep 17 00:00:00 2001 From: Greg Heartsfield Date: Sun, 21 Aug 2022 09:28:31 -0700 Subject: [PATCH] improvement: send NOTICE for too-large messages --- src/main.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main.rs b/src/main.rs index 0de8bca..9e208a3 100644 --- a/src/main.rs +++ b/src/main.rs @@ -34,6 +34,7 @@ use tokio::sync::broadcast::{self, Receiver, Sender}; use tokio::sync::mpsc; use tokio::sync::oneshot; use tokio_tungstenite::WebSocketStream; +use tungstenite::error::CapacityError::MessageTooLong; use tungstenite::error::Error as WsError; use tungstenite::handshake; use tungstenite::protocol::Message; @@ -476,6 +477,10 @@ async fn nostr_server( // send responses automatically. continue; }, + Some(Err(WsError::Capacity(MessageTooLong{size, max_size}))) => { + ws_stream.send(make_notice_message(&format!("message too large ({} > {})",size, max_size))).await.ok(); + continue; + }, None | Some(Ok(Message::Close(_))) | Some(Err(WsError::AlreadyClosed)) |