call method

Future<List<IBrowserlessStats>> call({
  1. dynamic body,
})

HTTP Method: GET Returns a list of metric details as far back as possible. Summary: /metrics

Implementation

Future<List<IBrowserlessStats>> call({dynamic body}) async {
  final queryParams = <String, String>{};
  if (defaultToken != null) {
    queryParams['token'] = defaultToken!;
  }
  final pathUrl = '/metrics';
  final uri = Uri.parse(
    '$baseUrl$pathUrl',
  ).replace(queryParameters: queryParams.isNotEmpty ? queryParams : null);
  final request = http.Request('GET', uri);
  if (body != null) {
    request.headers['Content-Type'] = 'application/json';
    request.body = jsonEncode(body);
  }
  final streamedResponse = await _client.send(request);
  final response = await http.Response.fromStream(streamedResponse);
  if (response.statusCode != 200 && response.statusCode != 204) {
    throw Exception('HTTP ${response.statusCode}: ${response.body}');
  }
  if (response.statusCode == 204) return [];
  return (jsonDecode(response.body) as List)
      .map((i) => IBrowserlessStats.fromJson(i))
      .toList();
}