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

§

type Key = String

source§

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

§

type Key = K