ArriError.fromResponse constructor

ArriError.fromResponse(
  1. Response response
)

Create an ArriRequestError from an HTTP response

Implementation

factory ArriError.fromResponse(http.Response response) {
  try {
    final body = json.decode(response.body);
    return ArriError(
      code: body["code"] is int ? body["code"] : response.statusCode,
      message: body["message"] is String
          ? body["message"]
          : "Unknown error requesting ${response.request?.url.toString()}",
      data: body["data"],
      stack: body["stack"] is List
          ? (body["stack"] as List)
              .map((e) => e is String ? e : e.toString())
              .toList()
          : null,
    );
  } catch (err) {
    return ArriError.unknown();
  }
}