nuclear 0.0.10

[WIP] a web framework for humans
Documentation
use nuclear::functional::{handler, middleware};
use nuclear::prelude::{Handler, Request, Response, Result};

async fn outer(req: Request, next: &dyn Handler) -> Result<Response> {
    println!("outer: before next");
    let res = next.handle(req).await;
    println!("outer: after next\n");
    res
}

async fn inner(req: Request, next: &dyn Handler) -> Result<Response> {
    println!("inner: before next");
    let res = next.handle(req).await;
    println!("inner: after next");
    res
}

fn compose(h: impl Handler) -> impl Handler {
    let inner = middleware(inner);
    let outer = middleware(outer);
    h.wrap(inner).wrap(outer)
}

#[tokio::main]
async fn main() -> Result<()> {
    let h = compose(handler(|_| async { println!("hello") }));
    h.into_server().run("127.0.0.1:8080").await
}