#web-apps #error #thiserror #axum #status-code #proc-macro #response

macro axum_thiserror

A Rust procedural macro for custom error handling in web applications, enabling the association of specific HTTP status codes with error types

1 unstable release

0.1.0 Jan 25, 2024

#1969 in Procedural macros

Download history 188/week @ 2024-07-20 229/week @ 2024-07-27 191/week @ 2024-08-03 537/week @ 2024-08-10 901/week @ 2024-08-17 686/week @ 2024-08-24 784/week @ 2024-08-31 787/week @ 2024-09-07 135/week @ 2024-09-14 98/week @ 2024-09-21 67/week @ 2024-09-28 55/week @ 2024-10-05 55/week @ 2024-10-12 80/week @ 2024-10-19 53/week @ 2024-10-26 59/week @ 2024-11-02

257 downloads per month

Custom license

7KB
84 lines

axum_thiserror

axum_thiserror is a library that offers a procedural macro to allow thiserror error types to be used as axum responses.

Usage

Add the library to your current project using Cargo:

cargo add axum_thiserror

Then you can create a basic thiserror error:

#[derive(Error, Debug)]
pub enum UserCreateError {
  #[error("User {0} already exists")]
  UserAlreadyExists(String),
}

Now you can use axum_thiserror to implement IntoResponse on your error:

#[derive(Error, Debug, ErrorStatus)]
pub enum UserCreateError {
  #[error("User {0} already exists")]
  #[status(StatusCode::CONFLICT)]
  UserAlreadyExists(String),
}

License

This project is licensed under the MIT License.

Dependencies

~5–12MB
~125K SLoC