Trait salvo_cache::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.

Object Safety§

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