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}