Fresh<T> constructor
Fresh<T> ({
- required TokenHeaderBuilder<
T> tokenHeader, - required TokenStorage<
T> tokenStorage, - required RefreshToken<
T> refreshToken, - ShouldRefresh? shouldRefresh,
- Dio? httpClient,
A Dio Interceptor for automatic token refresh. Requires a concrete implementation of TokenStorage and RefreshToken. Handles transparently refreshing/caching tokens.
dio.interceptors.add(
Fresh<OAuth2Token>(
tokenStorage: InMemoryTokenStorage(),
refreshToken: (token, client) async {...},
),
);
Implementation
Fresh({
required TokenHeaderBuilder<T> tokenHeader,
required TokenStorage<T> tokenStorage,
required RefreshToken<T> refreshToken,
ShouldRefresh? shouldRefresh,
Dio? httpClient,
}) : _refreshToken = refreshToken,
_tokenHeader = tokenHeader,
_shouldRefresh = shouldRefresh ?? _defaultShouldRefresh,
_httpClient = httpClient ?? Dio() {
this.tokenStorage = tokenStorage;
}