html terminal
Diffstat (limited to 'src/server.rs')
-rw-r--r--src/server.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/server.rs b/src/server.rs
index 218bf84..78e3b1c 100644
--- a/src/server.rs
+++ b/src/server.rs
@@ -63,6 +63,15 @@ async fn map_view(
)
}
+async fn map_file(
+ axum::extract::State(state): axum::extract::State<Arc<State>>,
+) -> impl IntoResponse {
+ (
+ AppendHeaders([(CONTENT_TYPE, "application/octet-stream")]),
+ crate::bot::maps::savefile(&state.stdin).await.unwrap(),
+ )
+}
+
pub struct Server;
impl Server {
pub async fn spawn(addr: SocketAddr) {
@@ -73,6 +82,7 @@ impl Server {
.route("/plaguess.png", png!(plaguess))
.route("/favicon.ico", png!(logo32))
.route("/view", get(map_view))
+ .route("/savefile", get(map_file))
.with_state(state.clone());
tokio::spawn(async move {
AxumServer::bind(&addr)