diff --git a/about.html b/about.html
new file mode 100644
index 00000000..50f334eb
--- /dev/null
+++ b/about.html
@@ -0,0 +1,9 @@
+
+
+ about page
+
+
+
+ This is about page
+
+
diff --git a/home.html b/home.html
new file mode 100644
index 00000000..5b9f5e6e
--- /dev/null
+++ b/home.html
@@ -0,0 +1,52 @@
+
+
+ WebSocket Example
+
+
+
+ WebSocket Example
+
+
+
+
+
+
+
+
+
+
diff --git a/requirements.txt b/requirements.txt
index e69de29b..bf5c0530 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -0,0 +1 @@
+websockets==10.4
diff --git a/server.py b/server.py
index 430d1dc7..bc0e4c7e 100644
--- a/server.py
+++ b/server.py
@@ -1,19 +1,42 @@
import os
import http.server
import socketserver
+import pathlib
+import asyncio
+import websockets
from http import HTTPStatus
class Handler(http.server.SimpleHTTPRequestHandler):
def do_GET(self):
- self.send_response(HTTPStatus.OK)
- self.end_headers()
- msg = 'Hello! you requested %s' % (self.path)
- self.wfile.write(msg.encode())
+ if self.path == '/':
+ file_path = pathlib.Path('home.html')
+ if file_path.is_file():
+ self.send_response(HTTPStatus.OK)
+ self.send_header('Content-Type', 'text/html')
+ self.end_headers()
+ with file_path.open('rb') as f:
+ self.wfile.write(f.read())
+ else:
+ self.send_response(HTTPStatus.NOT_FOUND)
+ self.end_headers()
+ else:
+ self.send_response(HTTPStatus.OK)
+ self.end_headers()
+ msg = 'Hello! you requested %s' % (self.path)
+ self.wfile.write(msg.encode())
+
+
+ # Send a WebSocket message to any connected clients
+ if 'websocket' in self.headers:
+ ws = websocket.WebSocket()
+ ws.connect(self.headers['websocket'], self.headers)
+ ws.send('Hello from the server!')
+ ws.close()
-port = int(os.getenv('PORT', 80))
+port = int(os.getenv('PORT', 8080))
print('Listening on port %s' % (port))
httpd = socketserver.TCPServer(('', port), Handler)
httpd.serve_forever()