diff options
Diffstat (limited to 'src/spectate/server.rs')
-rw-r--r-- | src/spectate/server.rs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/spectate/server.rs b/src/spectate/server.rs index d9d2ef8..3923bc1 100644 --- a/src/spectate/server.rs +++ b/src/spectate/server.rs @@ -36,6 +36,7 @@ pub async fn spectate_server(config: Config, state: Arc<State>) -> Result<()> { let app = Router::new() .route("/", get(index)) .route("/main.js", get(javascript)) + .route("/style.css", get(css)) .route("/events", get(ws_handler)) .with_state(sstate); let listener = tokio::net::TcpListener::bind(config.bind).await.unwrap(); @@ -71,6 +72,35 @@ async fn javascript() -> (HeaderMap, &'static str) { hm.typed_insert(ContentType::from_str("application/javascript").unwrap()); (hm, include_str!(concat!(env!("OUT_DIR"), "/main.js"))) } +#[cfg(debug_assertions)] +async fn css() -> (HeaderMap, String) { + use headers::HeaderMapExt; + use tokio::fs::read_to_string; + let mut hm = HeaderMap::new(); + hm.typed_insert(ContentType::from_str("text/css").unwrap()); + ( + hm, + read_to_string(concat!( + env!("CARGO_MANIFEST_DIR"), + "/src/spectate/style.css" + )) + .await + .unwrap(), + ) +} +#[cfg(not(debug_assertions))] +async fn css() -> (HeaderMap, &'static str) { + use headers::HeaderMapExt; + let mut hm = HeaderMap::new(); + hm.typed_insert(ContentType::from_str("text/css").unwrap()); + ( + hm, + include_str!(concat!( + env!("CARGO_MANIFEST_DIR"), + "/src/spectate/style.css" + )), + ) +} async fn broadcaster(sstate: Arc<SpectateState>, state: Arc<State>) { let mut ticks = state.tick.subscribe(); |