createDio static method

Dio createDio({
  1. BaseOptions? options,
  2. HzyNormalHttpConfig? normalHttpConfig,
})

Implementation

static Dio createDio({
  BaseOptions? options,
  HzyNormalHttpConfig? normalHttpConfig,
}) {
  options ??= BaseOptions(
    baseUrl: normalHttpConfig?.baseUrl ?? "",
    contentType: normalHttpConfig?.contentType,
    sendTimeout: Duration(seconds: normalHttpConfig?.sendTimeout ?? 30),
    receiveTimeout: Duration(seconds: normalHttpConfig?.receiveTimeout ?? 30),
    headers: normalHttpConfig?.headers,
  );
  Dio dio = Dio(options);

  if (normalHttpConfig?.interceptors?.isNotEmpty ?? false) {
    dio.interceptors.addAll(normalHttpConfig!.interceptors!);
  }
  if (kDebugMode && normalHttpConfig?.isNeedLog == true) {
    dio.interceptors.add(LogInterceptor(
      responseBody: true,
      error: true,
      requestHeader: true,
      responseHeader: false,
      request: true,
      requestBody: true,
      logPrint: (object) {
        log(object.toString());
      },
    ));
  }
  return dio;
}