ApiClient constructor
ApiClient(
- AppConfig config
Implementation
ApiClient(AppConfig config)
: _dio = Dio(
BaseOptions(
baseUrl: config.baseUrl,
headers: {
'Content-Type': 'application/json',
'Authorization': _getBearerToken(config.token),
},
connectTimeout: const Duration(seconds: 30),
receiveTimeout: const Duration(seconds: 30),
),
) {
_dio.interceptors.add(
InterceptorsWrapper(
onError: (error, handler) {
if (error.response != null) {
final statusCode = error.response!.statusCode;
final message =
errorMessageFrom(error.response!.data) ?? 'An error occurred';
error = DioException(
requestOptions: error.requestOptions,
response: error.response,
type: error.type,
error: 'Status $statusCode: $message',
);
}
return handler.next(error);
},
),
);
}