[−][src]Module actix_web::guard
Route match guards.
Guards are one of the ways how actix-web router chooses a
handler service. In essence it is just a function that accepts a
reference to a RequestHead instance and returns a boolean.
It is possible to add guards to scopes, resources
and routes. Actix provide several guards by default, like various
http methods, header, etc. To become a guard, type must implement Guard
trait. Simple functions could be guards as well.
Guards can not modify the request object. But it is possible
to store extra attributes on a request by using the Extensions container.
Extensions containers are available via the RequestHead::extensions() method.
use actix_web::{web, http, dev, guard, App, HttpResponse}; fn main() { App::new().service(web::resource("/index.html").route( web::route() .guard(guard::Post()) .guard(guard::fn_guard(|head| head.method == http::Method::GET)) .to(|| HttpResponse::MethodNotAllowed())) ); }
Structs
| AllGuard | Matches if all of supplied guards. |
| AnyGuard | Matches any of supplied guards. |
Traits
| Guard | Trait defines resource guards. Guards are used for route selection. |
Functions
| All | Return guard that matches if all of the supplied guards. |
| Any | Return guard that matches if any of supplied guards. |
| Connect | Predicate to match CONNECT http method |
| Delete | Predicate to match DELETE http method |
| Get | Guard to match GET http method |
| Head | Predicate to match HEAD http method |
| Header | Return predicate that matches if request contains specified header and value. |
| Host | Return predicate that matches if request contains specified Host name. |
| Method | Predicate to match specified http method |
| Not | Return guard that matches if supplied guard does not match. |
| Options | Predicate to match OPTIONS http method |
| Patch | Predicate to match PATCH http method |
| Post | Predicate to match POST http method |
| Put | Predicate to match PUT http method |
| Trace | Predicate to match TRACE http method |
| fn_guard | Create guard object for supplied function. |