I created a webserver class from some samples from net. While catching KeyboardInterrupt the scripts ends, but not executing post lines after KeyboardInterrupt. Tried code as follows
import threading
import time
import signal
from http.server import BaseHTTPRequestHandler, HTTPServer
class WebServer(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
self.host = "localhost"
self.port = 8080
def run(self):
ws = HTTPServer((self.host, self.port), MyHander)
print("WebServer started at Port:",self.port)
try:
ws.serve_forever()
except KeyboardInterrupt:
pass
finally:
ws.server_close()
print("WebServer stopped")
class MyHander(BaseHTTPRequestHandler):
def do_GET(self):
self.send_response(200)
self.send_header("Content-type", "text/html")
self.end_headers()
self.wfile.write(bytes("<html><head><title>https://pythonbasics.org</title></head>", "utf-8"))
self.wfile.write(bytes("<p>Request: %s</p>" % self.path, "utf-8"))
self.wfile.write(bytes("<body>", "utf-8"))
self.wfile.write(bytes("<p>This is an example web server.</p>", "utf-8"))
self.wfile.write(bytes("</body></html>", "utf-8"))
webServer = WebServer()
webServer.start()
output while pressing control C
WebServer started at Port:
>>> 8080
KeyboardInterrupt
>>>
I just started python coding. Kindly help