CacheIssuer

Trait CacheIssuer 

Source
pub trait CacheIssuer:
    Send
    + Sync
    + 'static {
    type Key: Hash + Eq + Send + Sync + 'static;

    // Required method
    fn issue(
        &self,
        req: &mut Request,
        depot: &Depot,
    ) -> impl Future<Output = Option<Self::Key>> + Send;
}
Expand description

Issuer

Required Associated Types§

Source

type Key: Hash + Eq + Send + Sync + 'static

The key is used to identify the rate limit.

Required Methods§

Source

fn issue( &self, req: &mut Request, depot: &Depot, ) -> impl Future<Output = Option<Self::Key>> + Send

Issue a new key for the request. If it returns None, the request will not be cached.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl CacheIssuer for RequestIssuer

Source§

impl<F, K> CacheIssuer for F
where F: Fn(&mut Request, &Depot) -> Option<K> + Send + Sync + 'static, K: Hash + Eq + Send + Sync + 'static,

Source§

type Key = K