def run(routes, host='0.0.0.0', port=8080): class RequestHandler(http.server.BaseHTTPRequestHandler): def log_message(self, *args, **kwargs): pass def do_GET(self): get(self, routes) server = ThreadedHTTPServer((host, port), RequestHandler) thread = threading.Thread(target=server.serve_forever) thread.daemon = True thread.start() print('HTTP server started on port 8080') while True: from time import sleep sleep(1) server.shutdown() server.start() server.waitForThread()
def run(routes, host = '0.0.0.0', port = 1999): """ Runs a class as a server whose methods have been decorated with @route. """ class RequestHandler(http.server.BaseHTTPRequestHandler): def log_message(self, *args, **kwargs): pass def do_GET(self): get(self, routes) server = ThreadedHTTPServer((host, port), RequestHandler) thread = threading.Thread(target = server.serve_forever) thread.daemon = True thread.start() print ('HTTP server started on port 1999') while True: from time import sleep sleep(1) server.shutdown() server.start() server.waitForThread()
class SimpleHttpServer(): def __init__(self, ip, port): self.server = ThreadedHTTPServer((ip,port), HTTPRequestHandler) def start(self): self.server_thread = threading.Thread(target=self.server.serve_forever) self.server_thread.daemon = True self.server_thread.start() def waitForThread(self): self.server_thread.join() # def addRecord(self, recordID, jsonEncodedRecord): # LocalData.records[recordID] = jsonEncodedRecord def stop(self): self.server.shutdown() self.waitForThread() #------ if __name__=='__main__': parser = argparse.ArgumentParser(description='HTTP Server') parser.add_argument('port', type=int, help='Listening port for HTTP Server') parser.add_argument('ip', help='HTTP Server IP') args = parser.parse_args() server = SimpleHttpServer(args.ip, args.port) print ('HTTP Server Running...........') server.start() server.waitForThread()
self.send_response(403) self.end_headers() else: self.send_response(403) self.send_header('Content-Type', 'application/json') self.end_headers() # self.wfile.write(bytes(json.dumps({3: 4}), 'UTF-8')) return class SimpleHttpServer(): def __init__(self, ip, port): self.server = ThreadedHTTPServer((ip, port), HTTPRequestHandler) def start(self): self.server_thread = threading.Thread(target=self.server.serve_forever) self.server_thread.daemon = True self.server_thread.start() def waitForThread(self): self.server_thread.join() def stop(self): self.server.shutdown() self.waitForThread() server = SimpleHttpServer(args.ip, args.port) db = database.Database(args.ip_db, args.port_db, args.db_name) server.start() server.waitForThread()
def server_launch(): webbrowser.open('http://localhost:%s/%s' % (PORT, FILE)) server = SimpleHttpServer('127.0.0.1', int(PORT)) print('HTTP Server Running...........') server.start() server.waitForThread()