diff --git a/src/lib.rs b/src/lib.rs index 0faaba5..4fb7ef9 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -183,6 +183,12 @@ impl JoecalState { .entry(id) .insert_entry(request); } + + pub fn send_event(&self, event: TransferEvent) { + if let Err(e) = self.transfer_event_tx.send(event.clone()) { + error!("got error sending transfer event '{event:?}': {e:?}"); + } + } } #[derive(Debug, Clone, Copy, PartialEq, Eq)] diff --git a/src/transfer.rs b/src/transfer.rs index bfaaefb..b4d5f02 100644 --- a/src/transfer.rs +++ b/src/transfer.rs @@ -321,10 +321,8 @@ pub async fn register_upload( .into_response(); } - if let Ok(id) = Julid::from_str(session_id) - && let Err(e) = state.transfer_event_tx.send(TransferEvent::Received(id)) - { - error!("got error sending upload received event: {e:?}"); + if let Ok(id) = Julid::from_str(session_id) { + state.send_event(TransferEvent::Received(id)); }; StatusCode::OK.into_response() @@ -352,10 +350,9 @@ pub async fn register_cancel( debug!("got cancel request for {}", params.session_id); session.status = SessionStatus::Cancelled; - if let Ok(id) = Julid::from_str(¶ms.session_id) - && let Err(e) = state.transfer_event_tx.send(TransferEvent::Cancelled(id)) - { - error!("got error sending upload canceled event: {e:?}"); + + if let Ok(id) = Julid::from_str(¶ms.session_id) { + state.send_event(TransferEvent::Cancelled(id)); }; StatusCode::OK.into_response()