Permission and input validation extension for Actix Web. Alternative to actix guard, with access to app data injections, HttpRequest and Payload.
Dependencies:
toml
[dependencies]
actix-permissions = "0.1.0-beta.1"
Code:
```rust
use actixpermissions::{check, with};
use actixweb::dev::;
use actix_web::web::Data;
use actix_web::;
use serde::Serialize;
use std::future::{ready, Ready};
fn dummypermissioncheck(
req: &HttpRequest,
payload: &mut Payload,
) -> Ready
fn anotherdummypermissioncheck(
req: &HttpRequest,
_payload: &mut Payload,
) -> Ready
struct DummyService;
impl DummyService { pub fn check(&self, value: &str) -> bool { value.contains('q') } }
async fn index() -> Result
async fn main() -> std::io::Result<()> { HttpServer::new(|| { App::new() .appdata(Data::new(DummyService)) .service(web::scope("").route( "/", check( web::get(), with(dummypermissioncheck).and(anotherdummypermissioncheck), index, ), )) }) .bind("127.0.0.1:8888")? .run() .await } ```