Network<T> constructor

Network<T>()

Implementation

Network() {
  dio = Dio();
  var options = BaseOptions(
      baseUrl: "https://api.allgoodnasiya.uz/",
      // baseUrl: "https://dev.api.allgoodnasiya.uz/",
      connectTimeout: const Duration(seconds: 60),
      receiveTimeout: const Duration(seconds: 60),
      contentType: "application/json",
      responseType: ResponseType.plain);
  dio.options = options;

  dio.interceptors.add(InterceptorsWrapper(
    onRequest: (options, handler) async {
      await setHeader(options);
      handler.next(options);
    },
    onResponse: (Response response, ResponseInterceptorHandler handler) {
      dio.options.headers.clear();
      return handler.next(response);
    },
    onError: (error, handler) async {
      log("\n----------------------------------------------------------------------\n\t\t\t\t onError\n\tMethod: ${error.requestOptions.method}\n\tPath: ${error.requestOptions.uri}\n\tStatusCode: ${error.response?.statusCode}\n\tStatusMessage: ${error.response?.statusMessage}\n\tHeader: ${jsonEncode(error.requestOptions.headers)}\n${error.requestOptions.data != null ? "\tBody: ${getBodyData(error.requestOptions.data)}\n" : ""}\n${error.requestOptions.queryParameters.isNotEmpty ? "\tQueryParameters: ${jsonEncode(error.requestOptions.queryParameters)}\n" : ""}\n\tResponse body: ${error.response?.data}\n----------------------------------------------------------------------");

      _errorHandler(
          error.response?.statusMessage ??
              error.message ??
              error.error.toString(),
          error.response?.statusCode ?? 0);

      handler.reject(error);

      // if (tokenInvalidResponse(error)) {
      //   log("Token issue");
      //   // Token issue.
      //   if (globalContext != null) {
      //     Navigator.pushReplacement(
      //       globalContext!,
      //       MaterialPageRoute(
      //         builder: (context) => const ErrorScreen(
      //           token: "",
      //         ),
      //       ),
      //     );
      //   }
      // } else {
      //   log("Error: ${error.message}");
      //   handler.reject(error);
      // }
    },
  ));
}