From 661b559d46a1631fc19d675c1a0073a87e1fb1e8 Mon Sep 17 00:00:00 2001 From: Sara <sarasdj@stud.ntnu.no> Date: Thu, 4 Apr 2024 15:33:53 +0200 Subject: [PATCH] fix: url param handling --- app/lib/server_requests/fetch_markers.dart | 4 +++- app/lib/server_requests/fetch_relation.dart | 6 +++++- server/main.py | 6 ++++-- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/app/lib/server_requests/fetch_markers.dart b/app/lib/server_requests/fetch_markers.dart index 410a25df..cd67bc7b 100644 --- a/app/lib/server_requests/fetch_markers.dart +++ b/app/lib/server_requests/fetch_markers.dart @@ -23,7 +23,9 @@ Future<FetchResult> fetchMeasurements() async { (X509Certificate cert, String host, int port) => true; // Request markers from server - var request = await client.getUrl(Uri.parse(serverURI + mapEndpoint)); + var parameterValue = 'Mjosa'; // NB temp hardcoded, should use selectedLake directly in url param + var request = await client.getUrl(Uri.parse('$serverURI$mapEndpoint?lake=' + '${Uri.encodeComponent(parameterValue)}')); var response = await request.close(); // Close response body at end of function // Parse body to JSON if request is ok diff --git a/app/lib/server_requests/fetch_relation.dart b/app/lib/server_requests/fetch_relation.dart index ab77dcec..88e1ca20 100644 --- a/app/lib/server_requests/fetch_relation.dart +++ b/app/lib/server_requests/fetch_relation.dart @@ -15,7 +15,11 @@ Future<Uint8List> fetchRelation() async { (X509Certificate cert, String host, int port) => true; // Execute request to to get_relation endpoint - var request = await client.getUrl(Uri.parse('${serverURI}get_relation')); + var parameterValue = 'Mjosa'; // NB temp hardcoded, should use selectedLake directly in url param + //var request = await client.getUrl(Uri.parse('${serverURI}get_relation')); + var request = await client.getUrl(Uri.parse('${serverURI}get_relation?lake=' + '${Uri.encodeComponent(parameterValue)}')); + var response = await request.close(); // Close response body at end of function // Try to parse body to JSON if request is ok diff --git a/server/main.py b/server/main.py index ac2a8e28..f730b9e9 100644 --- a/server/main.py +++ b/server/main.py @@ -24,11 +24,13 @@ class IceHTTPServer(HTTPServer): # Custom HTTP class class IceHTTP(BaseHTTPRequestHandler): + def __init__(self, request, client_address, server): self.cursor = server.cursor super().__init__(request, client_address, server) def do_GET(self): + # Root path if self.path == '/': # NB: temporary root path behavior self.send_response(200) @@ -37,12 +39,12 @@ class IceHTTP(BaseHTTPRequestHandler): self.wfile.write(b"Root path hit!") - elif self.path == '/update_map': # NB: should be POST? + elif self.path.startswith('/update_map'): # NB: should be POST? parsed_path = urlparse(self.path) query_params = parse_qs(parsed_path.query) get_all_markers(self, self.cursor, 'mjosa') # Get all markers # NB: temporary hardcoded waterBodyName - elif self.path == '/get_relation': + elif self.path.startswith('/get_relation'): parsed_path = urlparse(self.path) query_params = parse_qs(parsed_path.query) fetch_divided_map(self, 'Mjosa') # NB temp hardcoded value -- GitLab