sendApiRequest function

Future<Uint8List> sendApiRequest(
  1. String baseUrl,
  2. String path,
  3. Map<String, dynamic> queryParams
)

Implementation

Future<Uint8List> sendApiRequest(
  String baseUrl,
  String path,
  Map<String, dynamic> queryParams,
) async {
  String query = queryParams.entries
      .followedBy({
        'format': 'flatbuffers',
      }.entries)
      .where((entry) => entry.value != null)
      .map((entry) => '${entry.key}=${entry.value}')
      .join('&');

  Uri url = Uri.parse('$baseUrl$path?$query');
  print("[open_meteo] Parsed URL: ${url.toString()}");

  http.Response response = await http.get(url);
  if (response.statusCode != 200) {
    throw OpenMeteoApiError(jsonDecode(response.body)['reason']);
  }

  return response.bodyBytes;
}