Expand description
Developing an HTTP server requires to add code for logging, configuration, metrics, health checks etc.
This crate aims to solve these problems providing user with Application
builder for setting up HTTP service.
This project is in progress and might change a lot from version to version.
Re-exports
pub use axum;
pub use config;
pub use hyper;
pub use thiserror;
pub use tokio;
pub use tonic;
pub use tower;
pub use tower_http;
pub use tracing;
pub use tracing_subscriber;
pub use valuable;
Modules
fregate Errors
Extensions traits for different crates
Trait to implement custom Health checks
Fregate
FormatEvent
trait implementationTools initialise logging and tracing
Middlewares to be used with axum::Router
Tool to implement reverse-proxy logic in axum::Router
Collection of syntax-sugar-like functions
Instrument for logging
Structs
AppConfig reads and saves application configuration from different sources
AppConfig builder to set up multiple sources
Application to set up HTTP server with given config
AppConfig
configuration for logs and traces
Enums
Enum to specify configuration source type:
Functions
Reads AppConfig and
init_tracing
.
Return Error if fails to read AppConfig
or init_tracing
.
Return Error if called twice because of internal call to tracing_subscriber::registry().try_init().Return rendered metrics
Initialise PrometheusRecorder