#web-framework #business #logic #error #json-api #protocols #standardized

e114_core

A convenient wrapper around several rust web frameworks to isolate business logic from protocol handling

5 unstable releases

0.3.0 Oct 9, 2021
0.2.0 Sep 24, 2020
0.1.2 Jul 19, 2020
0.1.1 Jul 7, 2020
0.1.0 Jul 7, 2020

#2252 in Web programming

MIT/Apache

17KB
281 lines

E114 core is the lowest layer in the e114 architecture

It provides the WebResult type to be returned by business logic functions. It provides standardized error structs based on JSONAPI#Error format.

It also contains the web framework connectors (feature gated), because in rust either the type or the trait should be in your crate in order to be able to implement it.

This crate is:

#![forbid(unsafe_code)]
#![warn(clippy::pedantic)]

This crate implements JSONAPI#Error format

https://jsonapi.org/format/#errors

Optional features

e114_core = { version = "0.3.0", features = ["jsonschema"] }

Adds #[derive(JsonSchema)] to certain types and the schemars dependency.

e114_core = { version = "0.3.0", features = ["actix_web"] }

Adds actix-web From impl for WebResult and the actix-web dependency.

e114_core = { version = "0.3.0", features = ["hyper_body"] }

Adds http::Response<hyper::Body> impl for WebResult and the hyper dependency. This is intended to be used by warp and other frameworks which are built on http and hyper.

Minimum rust version

1.50.0

Build, debug and release tools

  • cargo fmt & cargo +1.50.0 clippy --tests --features actix_web,hyper_body,jsonschema

Dependencies

~1–12MB
~149K SLoC