MCPcopy Create free account
hub / github.com/RT-Thread/env-windows / ServerThread

Class ServerThread

tools/python-3.11.9-amd64/Lib/pydoc.py:2485–2523  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2483 self.callback(self)
2484
2485 class ServerThread(threading.Thread):
2486
2487 def __init__(self, urlhandler, host, port):
2488 self.urlhandler = urlhandler
2489 self.host = host
2490 self.port = int(port)
2491 threading.Thread.__init__(self)
2492 self.serving = False
2493 self.error = None
2494 self.docserver = None
2495
2496 def run(self):
2497 """Start the server."""
2498 try:
2499 DocServer.base = http.server.HTTPServer
2500 DocServer.handler = DocHandler
2501 DocHandler.MessageClass = email.message.Message
2502 DocHandler.urlhandler = staticmethod(self.urlhandler)
2503 docsvr = DocServer(self.host, self.port, self.ready)
2504 self.docserver = docsvr
2505 docsvr.serve_until_quit()
2506 except Exception as e:
2507 self.error = e
2508
2509 def ready(self, server):
2510 self.serving = True
2511 self.host = server.host
2512 self.port = server.server_port
2513 self.url = 'http://%s:%d/' % (self.host, self.port)
2514
2515 def stop(self):
2516 """Stop the server and this thread nicely"""
2517 self.docserver.quit = True
2518 self.join()
2519 # explicitly break a reference cycle: DocServer.callback
2520 # has indirectly a reference to ServerThread.
2521 self.docserver = None
2522 self.serving = False
2523 self.url = None
2524
2525 thread = ServerThread(urlhandler, hostname, port)
2526 thread.start()

Callers 1

_start_serverFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected