cometd_client/types/
access_token.rs

1#[cfg(feature = "basic")]
2mod basic;
3mod bearer;
4
5#[cfg(feature = "basic")]
6pub use basic::*;
7pub use bearer::*;
8
9use core::fmt::Debug;
10
11/// Trait which can be used for implementing custom access token.
12///
13/// # Example:
14/// ```rust,no_run
15/// # use cometd_client::types::AccessToken;
16///     #[derive(Debug)]
17///     struct SuperToken(Box<str>);
18///
19///     impl SuperToken {
20///         pub fn new() -> Self {
21///             Self("super-name Jindřich".into())
22///         }
23///     }
24///
25///     impl AccessToken for SuperToken {
26///         fn get_authorization_token(&self) -> &str {
27///             &self.0
28///         }
29///     }
30/// ```
31pub trait AccessToken: Debug + Sync + Send + 'static {
32    /// Return reference to array of pairs `(<HeaderName>, <HeaderValue>)`.
33    fn get_authorization_token(&self) -> &str;
34}