Skip to content
Snippets Groups Projects
Commit 98f168e8 authored by Sara Savanovic Djordjevic's avatar Sara Savanovic Djordjevic
Browse files

add: fetchAllLakeNames() in init_state.dart

parent 616f4a3c
No related branches found
No related tags found
1 merge request!10Clhp map
import 'dart:io';
import 'dart:async';
import 'dart:convert';
import 'dart:typed_data';
import 'package:app/consts.dart';
......@@ -6,6 +8,7 @@ import '../data_classes.dart';
import '../server_requests/fetch_markers.dart';
import '../server_requests/fetch_relation.dart';
Future<void> initialiseState() async{
bool serverConnection = true;
......@@ -33,4 +36,32 @@ Future<void> initialiseState() async{
selectedRelation = await relationFuture;
selectedMarkerList = await markerListFuture;
}
/// fetchAllLakeNames fetches a list of all lake names in the system
/// and initialises lakeSearchOptions
Future<void> fetchAllLakeNames() async {
try {
HttpClient client = HttpClient()
..badCertificateCallback = // NB: temporary disable SSL certificate validation
(X509Certificate cert, String host, int port) => true;
var request = await client.getUrl(Uri.parse('${serverURI}/get_lake_names'));
var response = await request.close();
if (response.statusCode == 200) {
var responseBody = await response.transform(utf8.decoder).join();
if (responseBody.isNotEmpty) {
var jsonData = json.decode(responseBody);
if (jsonData != null && jsonData is List) {
lakeSearchOptions = jsonData.map<String>((item) => item.toString()).toList();
return;
}
}
}
} catch (e) {
lakeSearchOptions = ["Mjøsa"]; // Init default list
}
}
\ No newline at end of file
......@@ -43,13 +43,14 @@ class IceHTTP(BaseHTTPRequestHandler):
with open('server/map_handler/lake_relations/all_lake_names.json', 'r') as file:
lake_names = json.load(file)
# Disable ensure_ascii to keep 'ø'
json_data = json.dumps(lake_names, ensure_ascii=False)
self.send_response(200)
self.send_header('Content-type', 'application/json')
self.end_headers()
self.wfile.write(json_data.encode('iso-8859-1'))
self.wfile.write(json_data.encode('iso-8859-1')) # Special character encoding
elif self.path.startswith('/update_map'): # NB: should be POST?
parsed_path = urlparse(self.path)
query_params = parse_qs(parsed_path.query)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment