#actix-web #helper #building #service #macro #derive #serwus

macro serwus-derive

Helpers for building actix-web/diesel based services - macros

3 releases

0.1.2 Jan 9, 2024
0.1.1 Dec 21, 2023
0.1.0 Sep 26, 2023

#98 in #services

Download history 6/week @ 2023-12-21 10/week @ 2024-01-04 4/week @ 2024-01-11 1/week @ 2024-01-18 2/week @ 2024-02-08 41/week @ 2024-02-15 34/week @ 2024-02-22 15/week @ 2024-02-29 44/week @ 2024-03-07 29/week @ 2024-03-14

102 downloads per month
Used in serwus

MIT/Apache

4KB
57 lines

Serwus

Helpers for building actix-web/diesel based services.

crates.io Documentation MIT or Apache 2.0 licensed Dependency Status CI downloads

Features

  • MultiPool - Master/replica-aware wrapper for r2d2
  • StatsPresenter - Framework for readiness and statistics reporting
  • JsonError - Middleware that makes actix-web return errors as JSONs

Example

use actix_web::web;
use serwus::{
    server::{Serwus, default_cors},
    EmptyStats
};

#[derive(Clone, EmptyStats)]
pub struct AppData;

async fn hello() -> &'static str {
    "Hello world\n"
}

#[actix_web::main]
async fn main() -> std::io::Result<()> {
    let prepare_app_data = || AppData;

    Serwus::default()
        .start(
            prepare_app_data,
            |app| {
                app.route("/", web::get().to(hello));
            },
            default_cors,
        )
        .await
}

Dependencies

~305–750KB
~18K SLoC