terror

Crates.ioterror
lib.rsterror
version3.0.1
sourcesrc
created_at2022-05-17 21:45:30.606341
updated_at2024-03-10 17:05:16.439003
descriptionUniform REST error response body, tailored for JSON
homepagehttps://github.com/artkonr/terror
repository
max_upload_size
id588629
size23,979
Artem Kononov (artkonr)

documentation

README

Overview

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.

Getting started

To enable terror, simply add it to your Cargo.toml:

terror = "3.0.1"

And then start hacking in the code:

fn main() {
    let error = Terror::new(500, String::format("generic server error"))
        .build();
}

You can also add some flavour to it, for example, an error code:

fn main() {
    let error = Terror::new(500, String::format("generic server error"))
        .error_code("error.internal")
        .build();
}

Architecture

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.

Features

It's sometimes convenient to add some extra metadata to your error responses; terror offers 3 such things out-of-the-box:

feature notion backend
err_id V4 UUID error ID uuid
time ISO-8601 error timestamp at UTC chrono
mdn a link to MDN reference about status code n/a
Commit count: 0

cargo fmt