aboutsummaryrefslogtreecommitdiffhomepage
path: root/webserver/httpserver.py
diff options
context:
space:
mode:
Diffstat (limited to 'webserver/httpserver.py')
-rw-r--r--webserver/httpserver.py62
1 files changed, 62 insertions, 0 deletions
diff --git a/webserver/httpserver.py b/webserver/httpserver.py
new file mode 100644
index 0000000..2daae31
--- /dev/null
+++ b/webserver/httpserver.py
@@ -0,0 +1,62 @@
+# Python 2.7 simple web server that serves a directory that contains a built Vue.js app
+# Run this script from the command line with:
+
+
+from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer
+import os
+import time
+
+class MyHandler(BaseHTTPRequestHandler):
+ def do_GET(self):
+ if self.path == '/dist':
+ self.send_response(200)
+ self.send_header('Content-type', 'text/html')
+ self.end_headers()
+ with open('dist/index.html', 'r') as f:
+ self.wfile.write(f.read())
+ return
+ elif self.path == '/time':
+ self.send_response(200)
+ self.send_header('Content-type', 'text/html')
+ self.end_headers()
+ self.wfile.write(time.asctime())
+ return
+ # Host the /media/p4/Presets/setlists directory
+ elif self.path == '/media/p4/Presets/setlists':
+ self.send_response(200)
+ self.send_header('Content-type', 'text/html')
+ self.end_headers()
+ with open('/media/p4/Presets/setlists', 'r') as f:
+ self.wfile.write(f.read())
+ return
+
+ else:
+ path = "." + self.path
+ # Serve the file requested
+ # Check if the file exists
+ if os.path.isfile(path):
+ self.send_response(200)
+ self.send_header('Content-type', 'text/html')
+ self.end_headers()
+ with open(path, 'r') as f:
+ self.wfile.write(f.read())
+ else:
+ self.send_response(404)
+ self.send_header('Content-type', 'text/html')
+ self.end_headers()
+ self.wfile.write('404: File not found')
+
+ return
+
+
+if __name__ == '__main__':
+ try:
+ server = HTTPServer(('0.0.0.0', 5555), MyHandler)
+ print('Started httpserver on port ' , 5555)
+
+ server.serve_forever()
+
+ except KeyboardInterrupt:
+ print('^C received, shutting down the web server')
+ server.socket.close()
+ \ No newline at end of file