zero2prod_axum/src/lib.rs

35 lines
899 B
Rust
Raw Normal View History

#![allow(unused)]
use axum::extract::{Path, Query};
use axum::http::{Method, Uri};
use axum::response::{Html, IntoResponse, Response};
2023-11-25 08:48:09 +01:00
use axum::routing::{get, get_service, post, IntoMakeService};
use axum::Server;
use axum::{middleware, Json, Router};
use hyper::server::conn::AddrIncoming;
2023-11-25 08:48:09 +01:00
use serde::Deserialize;
use serde_json::{json, Value};
use std::net::SocketAddr;
use std::net::TcpListener;
pub type App = Server<AddrIncoming, IntoMakeService<Router>>;
2023-11-25 08:48:09 +01:00
#[derive(Deserialize)]
struct FormData {
email: String,
name: String,
}
/// API routing
fn app() -> Router {
2023-11-25 08:48:09 +01:00
Router::new()
.route("/health_check", get(|| async {}))
.route("/subscriptions", post(|| async {}))
}
/// Start the server
pub fn run(listener: TcpListener) -> hyper::Result<App> {
let app = app();
let server = Server::from_tcp(listener)?.serve(app.into_make_service());
Ok(server)
}