Skip to content
Snippets Groups Projects

App2

Merged Sara Savanovic Djordjevic requested to merge app2 into main
32 files
+ 378
223
Compare changes
  • Side-by-side
  • Inline
Files
32
@@ -7,25 +7,36 @@ import 'marker_data.dart';
// fetchMarkerTemplate requests all marker data from the server
Future<List<Measurement>> fetchMarkerData() async {
try {
// Custom HTTP client
HttpClient client = HttpClient()
..badCertificateCallback = (X509Certificate cert, String host, int port) => true;
..badCertificateCallback = // NB: temporary disable SSL certificate validation
(X509Certificate cert, String host, int port) => true;
// Request markers from API
var request = await client.getUrl(Uri.parse(serverURI + mapEndpoint));
var response = await request.close();
var response = await request.close(); // Close response body at end of function
// Parse body to JSON if request is ok
if (response.statusCode == 200) {
var responseBody = await response.transform(utf8.decoder).join();
List<dynamic> jsonData = json.decode(responseBody);
return jsonData.map((data) => Measurement.Measurement(data)).toList();
if (responseBody.isNotEmpty) {
var jsonData = json.decode(responseBody);
if (jsonData != null && jsonData is List) { // Check if jsonData is not null and is a List
return jsonData.map((data) => Measurement.Measurement(data)).toList();
} else {
throw Exception('Failed to parse marker data: Unexpected response format');
}
} else {
throw Exception('Failed to parse marker data: Empty response body');
}
} else {
print('Request failed with status: ${response.statusCode}');
throw Exception('Failed to parse marker data');
throw Exception('Failed to fetch marker data: Status code ${response.statusCode}');
}
} catch (e) {
print('Error: $e');
throw Exception('failed to connect to the server. Please check your network connection');
print('Error fetching marker data: $e');
throw Exception('Failed to fetch marker data: ${e.toString()}');
}
}
Loading