pub struct TokenCache { /* private fields */ }
Expand description

TokenCache provides the current OAuth2 token and a means to refresh it in a thread-safe way.

Implementations§

source§

impl TokenCache

source

pub fn new(auth: Authorization) -> Self

Make a new token cache, using the given Authorization as a source of tokens.

source

pub fn get_token(&self, client: impl NoauthClient) -> Result<Arc<String>>

Get the current token, or obtain one if no cached token is set yet.

Unless the token has not been obtained yet, this does not do any HTTP request.

source

pub fn update_token( &self, client: impl NoauthClient, old_token: Arc<String> ) -> Result<Arc<String>>

Forces an update to the token, for when it is detected that the token is expired.

To avoid double-updating the token in a race, requires the token which is being replaced.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.