buildAuthFresh function
- required Dio refreshDio,
- required TokenStorage<
AuthTokenModel> tokenStorage, - required AppLogger logger,
Builds the Fresh token-refresh wrapper used by the authenticated Dio
client, bundling both the tokenHeader closure and the refreshToken
callback (TokenRefresher.refresh) into a single, independently testable
unit — rather than constructing Fresh inline in DI setup.
Implementation
Fresh<AuthTokenModel> buildAuthFresh({required Dio refreshDio, required TokenStorage<AuthTokenModel> tokenStorage, required AppLogger logger}) {
final TokenRefresher tokenRefresher = TokenRefresher(logger: logger);
return Fresh<AuthTokenModel>(
httpClient: refreshDio,
tokenStorage: tokenStorage,
tokenHeader: (AuthTokenModel token) => <String, String>{'Authorization': '${token.tokenType} ${token.accessToken}'},
refreshToken: tokenRefresher.refresh,
);
}