#axum #error #html #router #routing #response #read

axum-error

Simple error handling with axum

2 unstable releases

0.2.0 Feb 5, 2023
0.1.0 Apr 7, 2022

#110 in #routing

Download history 7/week @ 2023-11-20 5/week @ 2023-11-27 8/week @ 2024-02-12 38/week @ 2024-02-19 23/week @ 2024-02-26 17/week @ 2024-03-04

86 downloads per month

MIT license

4KB

axum-error

cargo add axum-error

Provides an Error type which can be used in a eyre-like fashion for axum, as well as simple error handling with fehler.

use axum::{response::Html, routing::get, Router};
use std::{fs::read_to_string, net::SocketAddr};
use axum_error::*;
 
#[throws]
#[tokio::main]
async fn main() {
    let app = Router::new().route("/", get(index));
    axum::Server::bind(&SocketAddr::from(([127, 0, 0, 1], 3000)))
        .serve(app.into_make_service())
        .await?;
}
 
#[throws]
async fn index() -> Html<String> {
    Html(read_to_string("index.html")?)
}

lib.rs:

Provides an Error type which can be used in a eyre-like fashion for axum

use axum::{response::Html, routing::get, Router};
use std::{fs::read_to_string, net::SocketAddr};
use axum_error::Result;

#[tokio::main]
async fn main() {
    let app = Router::new().route("/", get(index));
    axum::Server::bind(&SocketAddr::from(([127, 0, 0, 1], 3000)))
        .serve(app.into_make_service())
        .await
        .unwrap()
}

async fn index() -> Result<Html<String>> {
    Ok(Html(read_to_string("index.html")?))
}

Dependencies

~6–8MB
~143K SLoC