From 4238877c5fbcb1829ca7cf881b40f85de742b693 Mon Sep 17 00:00:00 2001
From: unknown <sarasdj@stud.ntnu.no>
Date: Wed, 7 Feb 2024 13:29:02 +0100
Subject: [PATCH] update: app-server connection

---
 app/lib/main.dart                         |  55 +++++++++++++---------
 server/__pycache__/consts.cpython-311.pyc | Bin 620 -> 620 bytes
 2 files changed, 34 insertions(+), 21 deletions(-)

diff --git a/app/lib/main.dart b/app/lib/main.dart
index e2e024ff..d2d9e0c9 100644
--- a/app/lib/main.dart
+++ b/app/lib/main.dart
@@ -2,13 +2,32 @@ import 'package:flutter/material.dart';
 import 'package:http/http.dart' as http;
 import 'dart:convert';
 import 'dart:async';
+import 'dart:io';
 
-const serverURI = "https://127.0.0.1:8443";
-const mapEndpoint = serverURI + "/update_map";
-const fetchInterval = 5;
+const String port = "8443";
+const String serverURI = "https://127.0.0.1:$port/";
+const int fetchInterval = 5;
 
-void main() {
-  runApp(const App());
+Future<void> main() async {
+  // NB temporary test print
+  print(serverURI);
+
+  try {
+    // Create a custom HTTP client with disabled SSL certificate validation
+    HttpClient client = HttpClient()
+      ..badCertificateCallback =
+          (X509Certificate cert, String host, int port) => true;
+
+    // Use the custom HTTP client for requests
+    var request =  await client.getUrl(Uri.parse(serverURI));
+    var response = await request.close();
+
+    // Handle response
+    print('Response status: ${response.statusCode}');
+  } catch (e) {
+    // Handle connection error
+    print('Failed to connect to the server: $e');
+  }
 }
 
 class App extends StatelessWidget {
@@ -22,8 +41,9 @@ class App extends StatelessWidget {
   }
 }
 
+// fetchData requests data from the update_map endpoint
 Future<void> fetchData() async {
-  final response = await http.get(Uri.parse(mapEndpoint));
+  final response = await http.get(Uri.parse(serverURI));
 
   if (response.statusCode == 200) {
     // Parse the JSON response
@@ -31,6 +51,7 @@ Future<void> fetchData() async {
     
     // NB temporary test print
     print(data);
+    print("Test print, fetchData triggered");
   } else { // Handle the error case
     print('Failed to fetch data. Status code: ${response.statusCode}');
   }
@@ -52,7 +73,7 @@ class _DefaultPageState extends State<DefaultPage> {
     // Call fetchData when the widget is first created
     fetchData();
 
-    // Schedule fetchData to run periodically based on FETCH_INTERVAL const
+    // Schedule fetchData to run periodically based on fetchInterval const
     const Duration fiveMinutes = Duration(minutes: fetchInterval);
     _timer = Timer.periodic(fiveMinutes, (timer) {
       fetchData();
@@ -61,7 +82,7 @@ class _DefaultPageState extends State<DefaultPage> {
 
   @override
   void dispose() {
-    // Cancel the timer when the widget is disposed to avoid memory leaks
+    // Cancel timer on widget termination
     _timer.cancel();
     super.dispose();
   }
@@ -70,25 +91,17 @@ class _DefaultPageState extends State<DefaultPage> {
   Widget build(BuildContext context) {
     return Scaffold(
       appBar: AppBar(
-        title: const Text('Flutter Mobile App'),
+        title: const Text('IceMap'),
       ),
-      body: Center(
+      body: const Center(
         child: Column(
           mainAxisAlignment: MainAxisAlignment.center,
           children: <Widget>[
-            const Text(
-              'Default flutter app page!',
+            Text(
+              'Default page',
               style: TextStyle(fontSize: 24),
             ),
-            const SizedBox(height: 20),
-            ElevatedButton(
-              onPressed: () async {
-                // Attempt to connect to the server
-                var response = await http.get(Uri.parse(serverURI));
-                print('Response from server: ${response.body}');
-              },
-              child: const Text('Some text'),
-            ),
+            SizedBox(height: 20),
           ],
         ),
       ),
diff --git a/server/__pycache__/consts.cpython-311.pyc b/server/__pycache__/consts.cpython-311.pyc
index fec899b67480674edd7bb48dd0014c814b08bb58..3de30302111c2cd3d3561aa908cd47ab136cdbed 100644
GIT binary patch
delta 20
acmaFE@`i<bIWI340}yx=9p1>D$OHg97zI-R

delta 20
acmaFE@`i<bIWI340}vGMJ+P5GkqH1k>IK9A

-- 
GitLab