pub trait AsyncAuthorizeRequest<B> {
    type RequestBody;
    type ResponseBody;
    type Future: Future<Output = Result<Request<Self::RequestBody>, Response<Self::ResponseBody>>>;

    // Required method
    fn authorize(&mut self, request: Request<B>) -> Self::Future;
}
Expand description

Trait for authorizing requests.

Required Associated Types§

source

type RequestBody

The type of request body returned by authorize.

Set this to B unless you need to change the request body type.

source

type ResponseBody

The body type used for responses to unauthorized requests.

source

type Future: Future<Output = Result<Request<Self::RequestBody>, Response<Self::ResponseBody>>>

The Future type returned by authorize

Required Methods§

source

fn authorize(&mut self, request: Request<B>) -> Self::Future

Authorize the request.

If the future resolves to Ok(request) then the request is allowed through, otherwise not.

Implementors§

source§

impl<B, F, Fut, ReqBody, ResBody> AsyncAuthorizeRequest<B> for F
where F: FnMut(Request<B>) -> Fut, Fut: Future<Output = Result<Request<ReqBody>, Response<ResBody>>>,

§

type RequestBody = ReqBody

§

type ResponseBody = ResBody

§

type Future = Fut