apub_inbox
: Create basic structure
This commit is contained in:
parent
8ef530658f
commit
5a746dd7b2
3 changed files with 38 additions and 2 deletions
3
acrate_apub_inbox/src/config.rs
Normal file
3
acrate_apub_inbox/src/config.rs
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
micronfig::config!(
|
||||||
|
ACRATE_APUB_INBOX_BIND_ADDRESS: String,
|
||||||
|
);
|
|
@ -1,3 +1,36 @@
|
||||||
fn main() {
|
use std::sync::Arc;
|
||||||
println!("Hello, world!");
|
use anyhow::Context;
|
||||||
|
use axum::Extension;
|
||||||
|
|
||||||
|
mod config;
|
||||||
|
mod route;
|
||||||
|
|
||||||
|
|
||||||
|
#[tokio::main]
|
||||||
|
async fn main() -> anyhow::Result<std::convert::Infallible> {
|
||||||
|
pretty_env_logger::init();
|
||||||
|
log::debug!("Logging initialized!");
|
||||||
|
|
||||||
|
log::trace!("Creating Minijinja environment...");
|
||||||
|
let mut mj = minijinja::Environment::<'static>::new();
|
||||||
|
|
||||||
|
log::trace!("Creating Axum router...");
|
||||||
|
let app = axum::Router::new()
|
||||||
|
.layer(Extension(Arc::new(mj)));
|
||||||
|
log::trace!("Axum router created successfully!");
|
||||||
|
|
||||||
|
log::trace!("Creating Tokio listener...");
|
||||||
|
let bind_address = config::ACRATE_APUB_INBOX_BIND_ADDRESS();
|
||||||
|
let listener = tokio::net::TcpListener::bind(bind_address)
|
||||||
|
.await
|
||||||
|
.context("failed to bind listener to address")?;
|
||||||
|
log::trace!("Tokio listener bound to: {bind_address}");
|
||||||
|
|
||||||
|
log::info!("Starting apub_inbox web server...");
|
||||||
|
axum::serve(listener, app)
|
||||||
|
.await
|
||||||
|
.context("server exited with error")?;
|
||||||
|
|
||||||
|
log::error!("Server exited with no error, panicking.");
|
||||||
|
panic!("server exited with no error");
|
||||||
}
|
}
|
||||||
|
|
0
acrate_apub_inbox/src/route.rs
Normal file
0
acrate_apub_inbox/src/route.rs
Normal file
Loading…
Reference in a new issue