33 breaking releases

new 0.45.0 May 13, 2024
0.43.0 Apr 2, 2024
0.42.0 Mar 18, 2024
0.35.2 Dec 21, 2023
0.13.0 Mar 27, 2023

#750 in HTTP server

Download history 9/week @ 2024-01-24 3/week @ 2024-01-31 145/week @ 2024-02-14 9/week @ 2024-02-21 142/week @ 2024-02-28 194/week @ 2024-03-06 770/week @ 2024-03-13 32/week @ 2024-03-20 94/week @ 2024-03-27 68/week @ 2024-04-03 3/week @ 2024-04-10 86/week @ 2024-04-17 41/week @ 2024-04-24 81/week @ 2024-05-08

208 downloads per month

Apache-2.0

32KB
507 lines

Shuttle service integration for the Thruster web framework

Example

use thruster::{
    context::basic_hyper_context::{generate_context, BasicHyperContext as Ctx, HyperRequest},
    m, middleware_fn, App, HyperServer, MiddlewareNext, MiddlewareResult, ThrusterServer,
};

#[middleware_fn]
async fn hello(mut context: Ctx, _next: MiddlewareNext<Ctx>) -> MiddlewareResult<Ctx> {
    context.body("Hello, World!");
    Ok(context)
}

#[shuttle_runtime::main]
async fn thruster() -> shuttle_thruster::ShuttleThruster<HyperServer<Ctx, ()>> {
    let server = HyperServer::new(
        App::<HyperRequest, Ctx, ()>::create(generate_context, ()).get("/", m![hello]),
    );

    Ok(server.into())
}

Dependencies

~15–27MB
~408K SLoC