diff --git a/server/src/websocket/server.rs b/server/src/websocket/server.rs index ea9f8a8a..08714c30 100644 --- a/server/src/websocket/server.rs +++ b/server/src/websocket/server.rs @@ -305,10 +305,12 @@ fn parse_json_message(chat: &mut ChatServer, msg: StandardMessage) -> Result { - chat.check_rate_limit_register(msg.id)?; let register: Register = serde_json::from_str(data)?; - let res = Oper::new(user_operation, register).perform()?; - Ok(serde_json::to_string(&res)?) + let res = Oper::new(user_operation, register).perform(); + if res.is_ok() { + chat.check_rate_limit_register(msg.id)?; + } + Ok(serde_json::to_string(&res?)?) } UserOperation::GetUserDetails => { let get_user_details: GetUserDetails = serde_json::from_str(data)?;