TError (as in Typical Error) is a small library that exposes a configurable and uniform response body representation for typical REST services. It covers most basic aspects such as returned status code, messages, detailed error data and so on.
To enable terror
, simply add it to your Cargo.toml
:
toml
terror = "0.1.2"
And then start hacking in the code:
rust
let error = Terror::new(500, String::format("generic server error"))
.build();
You can also add some flavour to it, for example, an error code:
rust
let error = Terror::new(500, String::format("generic server error"))
.error_code(String::from("error.internal"))
.build();
terror
is built with Rust 1.60.
It's a general intention of terror
to be serialized into JSON. Therefore,
it's designed to be compatible with serde
. As for the rest, terror
tries to enforce as little dependencies as possible.
It's sometimes convenient to add some extra metadata to your error responses;
terror
offers 2 such things out-of-the-box:
uuid
,
enabled by feature flag err_id
chrono
, enabled by feature flag time
.