RestApiClient constructor
RestApiClient({
- required RestApiClientOptions restApiClientOptions,
- LoggingOptions loggingOptions = const LoggingOptions(),
Implementation
RestApiClient({
required this.restApiClientOptions,
this.loggingOptions = const LoggingOptions(),
}) {
_cachedStorageRepository = StorageRepository(
key: RestApiClientKeys.cachedStorageKey,
logPrefix: RestApiClientKeys.cachedStorageLogPrefix,
);
_storageRepository = SecureStorageRepository(
key: RestApiClientKeys.storageKey,
logPrefix: RestApiClientKeys.storageLogPrefix,
);
options = BaseOptions();
httpClientAdapter = DefaultHttpClientAdapter();
if (restApiClientOptions.keepRetryingOnNetworkError) {
_dioConnectivityRequestRetrier = DioConnectivityRequestRetrier(dio: this);
}
options.baseUrl = restApiClientOptions.baseUrl;
if (loggingOptions.logNetworkTraffic) {
_configureDebugLogger();
}
_configureRefreshTokenInterceptor();
if (restApiClientOptions.keepRetryingOnNetworkError) {
_configureRetryOnConnectionChangeInterceptor();
}
if (restApiClientOptions.overrideBadCertificate) {
(httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate =
(HttpClient client) {
client.badCertificateCallback =
(X509Certificate cert, String host, int port) => true;
return client;
};
}
}