pub struct StaticApiKeyStore { /* private fields */ }
Expand description
Static API key store that uses a predefined set of keys Useful for simple configurations where keys are known at compile time
Implementations§
Source§impl StaticApiKeyStore
impl StaticApiKeyStore
pub fn new(config: StaticApiKeyConfig) -> Self
Trait Implementations§
Source§impl ApiKeyStore for StaticApiKeyStore
impl ApiKeyStore for StaticApiKeyStore
Source§fn validate_key<'life0, 'life1, 'async_trait>(
&'life0 self,
api_key: &'life1 str,
) -> Pin<Box<dyn Future<Output = ApiKeyValidationResult> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn validate_key<'life0, 'life1, 'async_trait>(
&'life0 self,
api_key: &'life1 str,
) -> Pin<Box<dyn Future<Output = ApiKeyValidationResult> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Validate an API key and return its configuration
Source§fn get_rate_limit_config<'life0, 'life1, 'async_trait>(
&'life0 self,
api_key: &'life1 str,
) -> Pin<Box<dyn Future<Output = Option<BarnacleConfig>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_rate_limit_config<'life0, 'life1, 'async_trait>(
&'life0 self,
api_key: &'life1 str,
) -> Pin<Box<dyn Future<Output = Option<BarnacleConfig>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Optional: Get rate limit configuration for a specific key
This allows for dynamic per-key configuration
Source§fn try_cache_key<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
api_key: &'life1 str,
config: &'life2 BarnacleConfig,
ttl_seconds: Option<u64>,
) -> Pin<Box<dyn Future<Output = Result<(), BarnacleError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn try_cache_key<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
api_key: &'life1 str,
config: &'life2 BarnacleConfig,
ttl_seconds: Option<u64>,
) -> Pin<Box<dyn Future<Output = Result<(), BarnacleError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Optional: Cache a validated API key for future requests
Default implementation does nothing - stores can override if they support caching
Auto Trait Implementations§
impl Freeze for StaticApiKeyStore
impl RefUnwindSafe for StaticApiKeyStore
impl Send for StaticApiKeyStore
impl Sync for StaticApiKeyStore
impl Unpin for StaticApiKeyStore
impl UnwindSafe for StaticApiKeyStore
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more