initialize static method

dynamic initialize({
  1. String? baseUrl,
  2. Duration timeout = const Duration(milliseconds: 15000),
  3. String? token,
  4. bool? followRedirects,
  5. void onStartDefault(
    1. NetworkRequest
    )?,
  6. void onEndDefault(
    1. NetworkResponse,
    2. NetworkRequest
    )?,
  7. dynamic onSuccessDefault(
    1. NetworkResponse,
    2. NetworkRequest
    )?,
  8. dynamic onFailedDefault(
    1. NetworkResponse,
    2. NetworkRequest
    )?,
  9. CancelToken? globalCancelToken,
  10. Map<String, dynamic>? headers,
  11. bool tokenExpireRule(
    1. NetworkResponse,
    2. NetworkRequest
    )?,
  12. bool extraSuccessRule(
    1. NetworkResponse,
    2. NetworkRequest
    )?,
  13. void onTokenExpire(
    1. NetworkResponse,
    2. NetworkRequest
    )?,
  14. String errorMsgExtractor(
    1. dynamic error
    )?,
  15. String successMsgExtractor(
    1. dynamic msg
    )?,
})

Implementation

static initialize({
  String? baseUrl,
  Duration timeout = const Duration(milliseconds: 15000),
  String? token,
  bool? followRedirects,
  void Function(NetworkRequest)? onStartDefault,
  void Function(NetworkResponse, NetworkRequest)? onEndDefault,
  Function(NetworkResponse, NetworkRequest)? onSuccessDefault,
  Function(NetworkResponse, NetworkRequest)? onFailedDefault,
  CancelToken? globalCancelToken,
  Map<String, dynamic>? headers,
  bool Function(NetworkResponse, NetworkRequest)? tokenExpireRule,
  bool Function(NetworkResponse, NetworkRequest)? extraSuccessRule,
  void Function(NetworkResponse, NetworkRequest)? onTokenExpire,
  String Function(dynamic error)? errorMsgExtractor,
  String Function(dynamic msg)? successMsgExtractor,
}) {
  if (onStartDefault != null) {
    _singleton.onStartDefault = onStartDefault;
  }
  if (onEndDefault != null) {
    _singleton.onEndDefault = onEndDefault;
  }
  if (onSuccessDefault != null) {
    _singleton.onSuccessDefault = onSuccessDefault as void Function(NetworkResponse, NetworkRequest);
  }
  if (onFailedDefault != null) {
    _singleton.onFailedDefault = onFailedDefault as void Function(NetworkResponse, NetworkRequest);
  }
  if (onTokenExpire != null) {
    _singleton.onTokenExpire = onTokenExpire;
  }
  if (tokenExpireRule != null) {
    _singleton.tokenExpireRule = tokenExpireRule;
  }
  if (extraSuccessRule != null) {
    _singleton.extraSuccessRule = extraSuccessRule;
  }
  if (baseUrl != null) {
    _singleton.baseUrl = baseUrl;
  }
  if (headers != null) {
    _singleton.headers = headers;
  }
  _singleton.connectTimeout = timeout;
  _singleton.sendTimeout = timeout;
  _singleton.receiveTimeout = timeout;

  if (globalCancelToken != null) {
    _singleton.globalCancelToken = globalCancelToken;
  }

  if (followRedirects != null) {
    _singleton.followRedirects = followRedirects;
  }

  _singleton.token = token;

  ///You can set LogInterceptor to print request/response log automatically
//    _singleton.dio.interceptors.add(LogInterceptor(responseBody: false));
  if (errorMsgExtractor != null) {
    _singleton.errorMsgExtractor = errorMsgExtractor;
  }
  if (successMsgExtractor != null) {
    _singleton.successMsgExtractor = errorMsgExtractor;
  }
}