call method

Future<ResponseBody> call({
  1. Map<String, String> pathParams = const <String, String>{},
  2. RequestBody? body,
})

Implementation

Future<ResponseBody> call(
    {Map<String, String> pathParams = const <String, String>{},
    RequestBody? body}) async {
  var requestBody =
      body == null ? "" : jsonEncode(_requestEncoder.toJson(body));
  var response = await _call(pathParams, requestBody);
  int status = response.statusCode;
  int statusFamily = status ~/ 100;

  if (statusFamily == 2) {
    return _responseParser.fromJson(jsonDecode(response.body));
  } else {
    throw HermesRequestError(response.statusCode, _method,
        response.request!.url.toString(), response.body);
  }
}