diff --git a/app/lib/main.dart b/app/lib/main.dart index e2e024ffd4d626b0b70e9307b048ce37d75ec39e..d2d9e0c98242ce794729148d852ef1fb5a7f7774 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 Binary files a/server/__pycache__/consts.cpython-311.pyc and b/server/__pycache__/consts.cpython-311.pyc differ