parsedArriRequest<T, E extends Exception> function

Future<T> parsedArriRequest<T, E extends Exception>(
  1. String url, {
  2. Client? httpClient,
  3. HttpMethod method = HttpMethod.post,
  4. Map<String, dynamic>? params,
  5. FutureOr<Map<String, String>> headers()?,
  6. String? clientVersion,
  7. required T parser(
    1. String
    ),
})

Helper function for performing raw HTTP request to an Arri RPC server This function will throw an ArriRequestError if it fails

Implementation

Future<T> parsedArriRequest<T, E extends Exception>(
  String url, {
  http.Client? httpClient,
  HttpMethod method = HttpMethod.post,
  Map<String, dynamic>? params,
  FutureOr<Map<String, String>> Function()? headers,
  String? clientVersion,
  required T Function(String) parser,
}) async {
  final result = await arriRequest(
    url,
    httpClient: httpClient,
    method: method,
    params: params,
    headers: headers,
    clientVersion: clientVersion,
  );
  if (result.statusCode >= 200 && result.statusCode <= 299) {
    return parser(utf8.decode(result.bodyBytes));
  }
  throw ArriError.fromResponse(result);
}