Struct goauth::fetcher::TokenFetcher [−][src]
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]
jwt: Jwt<JwtClaims>,
credentials: Credentials,
refresh_buffer: Duration
) -> TokenFetcher
pub fn with_client(
client: Client,
jwt: Jwt<JwtClaims>,
credentials: Credentials,
refresh_buffer: Duration
) -> TokenFetcher
[src]
client: Client,
jwt: Jwt<JwtClaims>,
credentials: Credentials,
refresh_buffer: Duration
) -> TokenFetcher
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][+]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
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][+]
U: From<T>,
impl<T> Pointable for T
[src][+]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src][+]
U: Into<T>,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,