request static method

Future<Response> request({
  1. GrockDioType method = GrockDioType.get,
  2. required String path,
  3. Map<String, dynamic>? queryParameters,
  4. dynamic data,
  5. Options? options,
})

----------------- request example -----------------

final request = await GrockDioServices.request(
 method: GrockDioType.get,
 path: '/posts',
 queryParameters: {"userId": 1},
 isLogger: true,
).grockResponseHandler(
  success: (response) => Model.fromJson(response.data),
  error: (err) => Toast.show(err.toString()),
  loading: () => print("loading"),
  done: () => print("done"),
);

Implementation

static Future<Response> request({
  GrockDioType method = GrockDioType.get,
  required String path,
  Map<String, dynamic>? queryParameters,
  dynamic data,
  Options? options,
}) async {
  try {
    final dio = _dio;
    final result = switch (method) {
      GrockDioType.get => dio.get,
      GrockDioType.post => dio.post,
      GrockDioType.put => dio.put,
      GrockDioType.delete => dio.delete,
      GrockDioType.patch => dio.patch,
    };
    return await result(
      path,
      data: data,
      queryParameters: queryParameters,
      options: options,
    );
  } on DioException catch (e) {
    return e.response!;
  } catch (e) {
    rethrow;
  }
}