diff --git a/Frontend/patient_manager/server/MIH_web_server.py b/Frontend/patient_manager/server/MIH_web_server.py index ff8f1322..c4bd7eb0 100644 --- a/Frontend/patient_manager/server/MIH_web_server.py +++ b/Frontend/patient_manager/server/MIH_web_server.py @@ -1,23 +1,30 @@ -from http.server import HTTPServer, BaseHTTPRequestHandler +#!/usr/bin/env python +# Inspired by https://gist.github.com/jtangelder/e445e9a7f5e31c220be6 +# Python3 http.server for Single Page Application + +import urllib.parse +import http.server +import socketserver +import re +from pathlib import Path port = 83 -class SimpleHTTPRequestHandler(BaseHTTPRequestHandler): +HOST = ('', port) +pattern = re.compile('.png|.jpg|.jpeg|.js|.css|.ico|.gif|.svg|.ico', re.IGNORECASE) + +class Handler(http.server.SimpleHTTPRequestHandler): def do_GET(self): - # if self.path == '/': - self.path = '/index.html' - try: - file_to_open = open(self.path[1:]).read() - self.send_response(200) - self.send_header('Content-type', 'text/html') - self.end_headers() - self.wfile.write(bytes(file_to_open, 'utf-8')) - except: - self.send_response(404) - self.send_header('Content-type', 'text/html') - self.end_headers() - self.wfile.write(b'404 - Not Found') -print(f"Web Server starting on port {port}") -httpd = HTTPServer(('', port), SimpleHTTPRequestHandler) -print(f"Web Server started on port {port}") -httpd.serve_forever() \ No newline at end of file + url_parts = urllib.parse.urlparse(self.path) + request_file_path = Path(url_parts.path.strip("/")) + + ext = request_file_path.suffix + if not request_file_path.is_file() and not pattern.match(ext): + self.path = 'index.html' + + return http.server.SimpleHTTPRequestHandler.do_GET(self) + + +httpd = socketserver.TCPServer(HOST, Handler) +print(f"Starting Web App Server on pot: {port}") +httpd.serve_forever() diff --git a/Frontend/patient_manager/server/server.sh b/Frontend/patient_manager/server/server.sh index 02884431..2fb5d8b7 100644 --- a/Frontend/patient_manager/server/server.sh +++ b/Frontend/patient_manager/server/server.sh @@ -14,4 +14,5 @@ PORT=83 cd /app/build/web/ # Start the web server on the specified port +#python3 -m http.server 83 python3 -u ../../server/MIH_web_server.py \ No newline at end of file diff --git a/Frontend/patient_manager/web/index.html b/Frontend/patient_manager/web/index.html index 315a6b55..d356a1df 100644 --- a/Frontend/patient_manager/web/index.html +++ b/Frontend/patient_manager/web/index.html @@ -1,210 +1,189 @@ - - + + + - For more details: - * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base + + + + + - This is a placeholder for base href that will be replaced by the value of - the `--base-href` argument provided to `flutter build`. - --> - + + - - - + Mzansi Innovation Hub + + + --> - - - - - - + + + + + + + + + + + + + + + + - .bottom { - position: absolute; - bottom: 0; - left: 50%; - -ms-transform: translate(-50%, 0); - transform: translate(-50%, 0); - } + + + - - - - - - - - - - - - - - - - - - - - - - + - \ No newline at end of file + + \ No newline at end of file