39 lines
1.1 KiB
Python
39 lines
1.1 KiB
Python
import ssl
|
|
from http.server import BaseHTTPRequestHandler, HTTPServer
|
|
import socketserver
|
|
|
|
with open("home.html", "r", encoding="utf-8" ) as f:
|
|
greeting_page = f.read()
|
|
|
|
class Handler(BaseHTTPRequestHandler):
|
|
def sql_req(self):
|
|
data = ""
|
|
d_type = ""
|
|
if self.path == "/":
|
|
d_type = "text/html"
|
|
data = greeting_page
|
|
return (data, d_type)
|
|
|
|
|
|
def do_GET(self):
|
|
if self.path != "/":
|
|
self.send_response(404)
|
|
self.end_headers()
|
|
return
|
|
self.send_response(200)
|
|
self.send_header("Data type", self.sql_req()[1])
|
|
self.end_headers()
|
|
self.wfile.write(self.sql_req()[0].encode())
|
|
|
|
server = HTTPServer(("0.0.0.0", 4443), Handler)
|
|
|
|
ssl_context = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER)
|
|
ssl_context.load_cert_chain(certfile="ssl-dir/server.crt",keyfile="ssl-dir/server.key")
|
|
|
|
httpd = socketserver.TCPServer(("0.0.0.0", 4445), Handler)
|
|
httpd.socket = ssl_context.wrap_socket(httpd.socket, server_side = True)
|
|
|
|
|
|
server.socket = ssl_context.wrap_socket(server.socket, server_side=True)
|
|
|
|
server.serve_forever()
|