Struct goauth::fetcher::TokenFetcher[][src]

pub struct TokenFetcher { /* fields omitted */ }

A TokenFetcher stores a Token on first fetch and will continue returning that token until it needs to be refreshed, as determined by the token’s expires_in field and the configured refresh_buffer.

Specifically on each token fetch request, it will check the current time against the expected time the currently stored token will expire. If it is within the refresh_buffer window, it will fetch a new token, store that (along with the new expired time), and return the new token.

Implementations

impl TokenFetcher[src]

pub fn new(
    jwt: Jwt<JwtClaims>,
    credentials: Credentials,
    refresh_buffer: Duration
) -> TokenFetcher
[src]

pub fn with_client(
    client: Client,
    jwt: Jwt<JwtClaims>,
    credentials: Credentials,
    refresh_buffer: Duration
) -> TokenFetcher
[src]

pub async fn fetch_token(&self) -> Result<Token>[src]

Returns a token if the token is still considered “valid” per the currently stored token’s expires_in field and the configured refresh_buffer. If it is, return the stored token. If not, fetch a new token, store it, and return the new token.

Auto Trait Implementations

impl !RefUnwindSafe for TokenFetcher

impl Send for TokenFetcher

impl Sync for TokenFetcher

impl Unpin for TokenFetcher

impl !UnwindSafe for TokenFetcher

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T[src]

type Init = T

The type for initializers.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T> WithSubscriber for T[src]