NetworkManager.instance constructor

NetworkManager.instance({
  1. required BuildContext context,
  2. required String api,
  3. dynamic req,
  4. Map<String, dynamic>? query,
  5. void onSuccess(
    1. BuildContext? context,
    2. NMResponse result
    )?,
  6. void onFailed(
    1. BuildContext? context,
    2. NMResponse result
    )?,
  7. Function? onStart,
  8. Function? onEnd,
  9. Duration? timeout,
  10. CancelToken? cancelToken,
  11. Map<String, dynamic>? headers,
  12. bool showFailedDialog = true,
  13. bool callDefaults = true,
  14. bool followRedirect = true,
  15. bool validStatus(
    1. int?
    )?,
  16. bool showSuccessDialog = false,
  17. bool forbidCancelWhenOffline = false,
})

Implementation

factory NetworkManager.instance({
  required BuildContext context,
  required String api,
  dynamic req,
  Map<String, dynamic>? query,
  void Function(BuildContext? context, NMResponse result)? onSuccess,
  void Function(BuildContext? context, NMResponse result)? onFailed,
  Function? onStart,
  Function? onEnd,
  Duration? timeout,
  CancelToken? cancelToken,
  Map<String, dynamic>? headers,
  bool showFailedDialog = true,
  bool callDefaults = true,
  bool followRedirect = true,
  bool Function(int?)? validStatus,
  bool showSuccessDialog = false,
  bool forbidCancelWhenOffline = false,
}) {
  NetworkManagerMetaData meta = NetworkManagerMetaData();

  BaseOptions finalOptions = meta.dioOption;
  if (headers != null) {
    finalOptions.headers = headers;
  }
  if (timeout != null) {
    finalOptions.connectTimeout = timeout;
    finalOptions.sendTimeout = timeout;
    finalOptions.receiveTimeout = timeout;
  }
    finalOptions.followRedirects = followRedirect;
  if (validStatus != null) {
    finalOptions.validateStatus = validStatus;
  }



  return NetworkManager._(
    context: context,
    api: api,
    req: req,
    query: query,
    onSuccess: onSuccess ?? (BuildContext? context, NMResponse responseJson) {},
    onFailed: onFailed ?? (BuildContext? context, NMResponse responseJson) {},
    onStart: onStart ?? () {},
    onEnd: onEnd ?? () {},
    cancelToken: cancelToken ?? meta.globalCancelToken,
    showFailedDialog: showFailedDialog,
    callDefaults: callDefaults,
    showSuccessDialog: showSuccessDialog,
    onSuccessDefault: meta.onSuccessDefault,
    onFailedDefault: meta.onFailedDefault,
    onStartDefault: meta.onStartDefault,
    onEndDefault: meta.onEndDefault,
    token: meta.token,
    successRules: meta.successRules,
    tokenExpireRules: meta.tokenExpireRules,
    onTokenExpire: meta.onTokenExpire,
    successMsgExtractor: meta.successMsgExtractor,
    errorMsgExtractor: meta.errorMsgExtractor,
    successDialog: meta.successDialog,
    useFancyDialog: meta.useFancyDialog,
    failedDialog: meta.failedDialog,
    forbidCancelWhenOffline: forbidCancelWhenOffline,
    dio: Dio()..options = finalOptions,
  );
}