getRequestWithData<T> method

Future<ApiResponse<T>> getRequestWithData<T>(
  1. String path,
  2. Map<String, dynamic> request,
  3. T builder(
    1. Map<String, dynamic> data
    )
)

Implementation

Future<ApiResponse<T>> getRequestWithData<T>(
  String path,
  Map<String, dynamic> request,
  T Function(Map<String, dynamic> data) builder,
) async {
  cancelToken = CancelToken();
  Map response;
  try {
    var result =
        await client.get(path, data: request, cancelToken: cancelToken);
    response = jsonDecode(result.data);
  } on DioException catch (error) {
    if (error.response?.data != null) {
      response = jsonDecode(error.response?.data);
    } else {
      return ApiResponse(
        code: error.response?.statusCode,
        message: error.response?.statusMessage,
      );
      // return ApiResponse()
      //   ..setException(ServerError().withError(error: error));
    }
  }
  return ApiResponse()..setData(response, builder);
}