use axum::{http::{Method, StatusCode}, routing::get, Json, Router};
use tower_http::cors::{Any, CorsLayer};

#[tokio::main]
async fn main() {
    let app = Router::new()
        .route(
            "/api/v1/health",
            get(|| async { (StatusCode::OK, Json(None::<String>)) }),
        ).layer(
            CorsLayer::new()
                .allow_methods([Method::GET]).allow_origin(Any),
        )
        .route(
            "/api/v1/denied",
            get(|| async { (StatusCode::UNAUTHORIZED, Json(None::<String>)) }),
        ).layer(
            CorsLayer::new()
            .allow_methods([Method::GET]).allow_origin(Any),
        );
    let listener = tokio::net::TcpListener::bind("127.0.0.1:8001")
        .await
        .unwrap();

    axum::serve(listener, app).await.unwrap();
}