parsedArriRequestSafe<T> function

Future<ArriRequestResult<T>> parsedArriRequestSafe<T>(
  1. String url, {
  2. Client? httpClient,
  3. HttpMethod httpMethod = HttpMethod.get,
  4. Map<String, dynamic>? params,
  5. FutureOr<Map<String, String>> headers()?,
  6. required T parser(
    1. String
    ),
  7. String? clientVersion,
})

Perform a raw HTTP request to an Arri RPC server. This function does not thrown an error. Instead it returns a request result in which both value and the error can be null.

Implementation

Future<ArriRequestResult<T>> parsedArriRequestSafe<T>(
  String url, {
  http.Client? httpClient,
  HttpMethod httpMethod = HttpMethod.get,
  Map<String, dynamic>? params,
  FutureOr<Map<String, String>> Function()? headers,
  required T Function(String) parser,
  String? clientVersion,
}) async {
  try {
    final result = await parsedArriRequest(
      url,
      parser: parser,
      headers: headers,
      params: params,
      clientVersion: clientVersion,
      method: httpMethod,
      httpClient: httpClient,
    );
    return ArriRequestResult(value: result);
  } catch (err) {
    return ArriRequestResult(error: err is ArriError ? err : null);
  }
}