diff options
Diffstat (limited to 'src/main.rs')
-rw-r--r-- | src/main.rs | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/main.rs b/src/main.rs index a72ec5f..74f0a0b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -3,10 +3,10 @@ use axum::{ http::{Request, StatusCode}, middleware::{self, Next}, response::Response, - RequestExt, Router, + RequestExt, Router, extract::DefaultBodyLimit, }; use axum_client_ip::ClientIp; -use std::{net::SocketAddr, process::exit}; +use std::{net::SocketAddr, process::exit, fs}; use tower_cookies::CookieManagerLayer; use tracing::{error, info, metadata::LevelFilter}; use tracing_subscriber::{ @@ -14,7 +14,7 @@ use tracing_subscriber::{ }; use types::http::ResponseCode; -use crate::api::pages; +use crate::api::{pages, image}; mod admin; mod api; @@ -69,13 +69,19 @@ async fn main() { exit(1) }; + fs::create_dir_all("./public/image/custom").expect("Coudn't make custom data directory"); + fs::create_dir_all("./public/image/custom/avatar").expect("Coudn't make custom avatar directory"); + fs::create_dir_all("./public/image/custom/banner").expect("Coudn't make custom banner directory"); + let app = Router::new() .fallback(not_found) .layer(middleware::from_fn(log)) .layer(middleware::from_fn(serve)) .nest("/", pages::router()) .nest("/api", api::router()) - .layer(CookieManagerLayer::new()); + .nest("/image", image::router()) + .layer(CookieManagerLayer::new()) + .layer(DefaultBodyLimit::max(512_000)); let Ok(addr) = "[::]:8080".parse::<std::net::SocketAddr>() else { error!("Failed to parse port binding"); |