actix-chain 0.1.0

Actix-Web service chaining service.
Documentation

actix-chain

crates.io Documentation Version License dependency status Download

Actix-Web service chaining service.

Provides a simple non-blocking service for chaining together other arbitrary services.

Examples

use actix_web::{App, HttpRequest, HttpResponse, Responder, web};
use actix_chain::{Chain, Link};

async fn might_fail(req: HttpRequest) -> impl Responder {
  if !req.headers().contains_key("Required-Header") {
    return HttpResponse::NotFound().body("Request Failed");
  }
  HttpResponse::Ok().body("It worked!")
}

async fn default() -> &'static str {
  "First link failed!"
}

App::new().service(
  Chain::default()
    .link(Link::new(web::get().to(might_fail)))
    .link(Link::new(web::get().to(default)))
);