This commit is contained in:
2024-06-27 23:38:47 +02:00
parent c4d502903e
commit fe2bb23324
3 changed files with 36 additions and 3 deletions

25
backend/Cargo.lock generated
View File

@@ -129,6 +129,12 @@ version = "1.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "bitflags"
version = "2.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"
[[package]]
name = "bytemuck"
version = "1.14.0"
@@ -634,7 +640,7 @@ version = "0.16.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3c3287920cb847dee3de33d301c463fba14dda99db24214ddf93f83d3021f4c6"
dependencies = [
"bitflags",
"bitflags 1.3.2",
"crc32fast",
"deflate",
"miniz_oxide 0.3.7",
@@ -681,6 +687,7 @@ dependencies = [
"maud",
"qrcode",
"tokio",
"tower-http",
]
[[package]]
@@ -898,6 +905,22 @@ dependencies = [
"tracing",
]
[[package]]
name = "tower-http"
version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e9cd434a998747dd2c4276bc96ee2e0c7a2eadf3cae88e52be55a05fa9053f5"
dependencies = [
"bitflags 2.6.0",
"bytes",
"http",
"http-body",
"http-body-util",
"pin-project-lite",
"tower-layer",
"tower-service",
]
[[package]]
name = "tower-layer"
version = "0.3.2"

View File

@@ -10,3 +10,4 @@ tokio = { version = "1.33.0", features = ["macros", "rt-multi-thread"] }
qrcode = "0.12.0"
image = "0.23.14"
maud = { version = "0.26.0", features = ["axum"] }
tower-http = { version = "0.5.2", features = ["cors"] }

View File

@@ -3,19 +3,28 @@ use std::collections::HashMap;
use axum::{
debug_handler,
extract::Query,
http::{header::CONTENT_TYPE, StatusCode},
http::{header::CONTENT_TYPE, HeaderValue, Method, StatusCode},
response::IntoResponse,
routing::get,
Router,
};
use image::{png::PngEncoder, ColorType, Luma};
use maud::{html, Markup};
use tower_http::cors::CorsLayer;
#[tokio::main]
async fn main() {
let app = Router::new()
.route("/", get(index))
.route("/qr", get(get_qr_code));
.route("/qr", get(get_qr_code))
.layer(
CorsLayer::new()
.allow_origin("http://localhost:3000".parse::<HeaderValue>().unwrap())
.allow_origin("http://localhost".parse::<HeaderValue>().unwrap())
.allow_origin("http://localhost:5173".parse::<HeaderValue>().unwrap())
.allow_origin("http://localhost:1337".parse::<HeaderValue>().unwrap())
.allow_methods([Method::GET]),
);
let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap();