initDio static method

void initDio()

Implementation

static void initDio() {
  if (dio == null) {
    dio = Dio();
    dio?.interceptors.add(DioCacheInterceptor(options: cacheOptions));
    dio?.interceptors.add(InterceptorsWrapper(onRequest:
        (RequestOptions options, RequestInterceptorHandler handler) async {
      options.queryParameters['appname'] = Q.APP_NAME;
      options.queryParameters['version'] = Q.VERSION_NAME;
      var url = options.path;

      print("$url : REQUEST : METHOD : ${options.method}");
      print("$url : REQUEST : HEADERS : ${options.headers}");
      print("$url : REQUEST : QPARAMS : ${options.queryParameters}");

      return handler.next(options);
    }, onResponse:
        (Response response, ResponseInterceptorHandler handler) async {
      var url = response.realUri.path;
      print("$url : RESPONSE : ${response.statusCode}");
      print("$url : RESPONSE : ${response.statusMessage}");
      print("$url : RESPONSE : ${response.data ?? "null"}");

      return handler.next(response);
    }, onError: (DioError e, ErrorInterceptorHandler handler) async {
      var url = "${e.response?.realUri.path}";
      print("$url : ERROR : ${e.error}");
      print("$url : ERROR : ${e.message}");
      print("$url : ERROR : ${e.response?.data}");
      print("$url : ERROR : ${e.response?.statusCode}");
      print("$url : ERROR : ${e.response?.statusMessage}");

      return handler.next(e);
    }));
  }
  authOptions = Options(headers: {
    'authorization': 'Bearer ${Apis.tokenValue}',
  });
}