From b94f8e694bf01f5dba9ce2c01f589463a3dfbc69 Mon Sep 17 00:00:00 2001 From: Toby Vincent Date: Wed, 9 Oct 2024 18:23:58 -0500 Subject: feat!: rewrite to use traits and streams --- src/sse.rs | 35 ----------------------------------- 1 file changed, 35 deletions(-) delete mode 100644 src/sse.rs (limited to 'src/sse.rs') diff --git a/src/sse.rs b/src/sse.rs deleted file mode 100644 index 88befd1..0000000 --- a/src/sse.rs +++ /dev/null @@ -1,35 +0,0 @@ -use axum::{ - extract::{Path, State}, - response::{ - sse::{Event, KeepAlive}, - Sse, - }, - routing::get, - Router, -}; -use futures::Stream; -use tokio_stream::StreamExt; - -use crate::{service::ServiceHandles, Error}; - -pub fn router() -> Router { - axum::Router::new().route("/:name", get(service_events)) -} - -pub async fn service_events( - Path(name): Path, - State(services): State, -) -> Result>>, Error> { - let stream = services - .get(&name) - .ok_or_else(|| Error::ServiceNotFound(name))? - .into_stream() - .map(|s| match s { - crate::Status::Ok => Event::default().event("ok"), - crate::Status::Error(None) => Event::default().event("error"), - crate::Status::Error(Some(msg)) => Event::default().event("error").data(msg), - }) - .map(Ok); - - Ok(Sse::new(stream).keep_alive(KeepAlive::default())) -} -- cgit v1.2.3-70-g09d2