postRequestWithData<T> method

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

Implementation

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