aboutsummaryrefslogtreecommitdiff
path: root/src/spectate/server.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/spectate/server.rs')
-rw-r--r--src/spectate/server.rs30
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();