5 releases (2 breaking)

new 1.0.0-unsafe Jan 26, 2025
0.3.0-unsafe Jan 15, 2025
0.2.0-unsafe Jan 13, 2025
0.1.1-unsafe Jan 10, 2025
0.1.0-unsafe Jan 10, 2025

#543 in HTTP server

Download history 297/week @ 2025-01-08 135/week @ 2025-01-15 92/week @ 2025-01-22

524 downloads per month

MIT license

35KB
938 lines

Example

use ralavest::{
    extractor::Query,
    http::IntoResponse,
    route::{get, post, serve, Router},
};

#[tokio::main]
async fn main() {
    let router = Router::new()
        .route(
            "/",
            get(|| "<h1>hello world</h1>").put(|| "1230912 row affected"),
        )
        .route("/login", post(login_handler));
    let listener = tokio::net::TcpListener::bind("127.0.0.1:1945")
        .await
        .unwrap();
    serve(listener, router).await.unwrap();
}
fn login_handler(Query(mut query): Query) -> impl IntoResponse {
    let usr = query.remove("usr").unwrap_or_default();
    let pw = query.remove("pw").unwrap_or_default();
    if usr != "admin" || pw != "admin1234" {
        return "<h1>unauthorized</h1>";
    }
    return "<h1>admin panel</h1>";
}

Dependencies

~2.4–8MB
~58K SLoC