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,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Pointable for T
[src]
pub const ALIGN: usize
[src]
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize
[src]
pub unsafe fn deref<'a>(ptr: usize) -> &'a T
[src]
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
[src]
pub unsafe fn drop(ptr: usize)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> WithSubscriber for T
[src]
pub fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
[src]
S: Into<Dispatch>,