parsedArriRequest<T, E extends Exception> function
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);
}