parsedArriRequestSafe<T> function

Future<ArriResult<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<ArriResult<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 ArriResultOk(result);
  } catch (err) {
    return ArriResultErr(
      err is ArriError
          ? err
          : ArriError(
              code: 0,
              message: err.toString(),
              data: err,
            ),
    );
  }
}