loadJsonNetwork function

Future<Map<String, dynamic>> loadJsonNetwork(
  1. String url
)

Loads a JSON object from an HTTP endpoint.

Returns an empty map when request or decoding fails.

Implementation

Future<Map<String, dynamic>> loadJsonNetwork(String url) async {
  try {
    final response = await http.get(Uri.parse(url));
    if (response.statusCode == 200) {
      return jsonDecode(response.body) as Map<String, dynamic>;
    }
    throw Exception('HTTP ${response.statusCode}');
  } on FormatException catch (e) {
    debugPrint('loadJsonNetwork malformed JSON from $url: $e');
    return <String, dynamic>{};
  } catch (e) {
    debugPrint('loadJsonNetwork error from $url: $e');
    return <String, dynamic>{};
  }
}