initNet method

Future<void> initNet({
  1. String? baseUrl,
  2. Dio? dio,
  3. List<Interceptor>? interceptors,
  4. bool addLog = false,
  5. void hookRequest(
    1. RequestOptions options
    )?,
})

Implementation

Future<void> initNet({
  String? baseUrl,
  Dio? dio,
  List<Interceptor>? interceptors,
  bool addLog = false,
  void Function(RequestOptions options)? hookRequest,
}) async {
  if (baseUrl != null && dio == null) {
    final options = BaseOptions(
      baseUrl: baseUrl,
      contentType: Headers.jsonContentType,
      connectTimeout: const Duration(seconds: CONNECT_TIMEOUT),
      receiveTimeout: const Duration(seconds: RECEIVE_TIMEOUT),
    );
    _dio = Dio(options);
    interceptors?.forEach((element) {
      DioUtil().dio?.interceptors.add(element);
    });
    // add interceptors
    _dio?.interceptors.add(DioInterceptor(hookOnRequest: hookRequest));
    if (addLog) {
      _dio?.interceptors.add(AwesomeDioInterceptor());
    }
  } else if (dio != null) {
    _dio = dio;
  }
}