Advertisement
Guest User

Untitled

a guest
Oct 8th, 2021
390
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.93 KB | None | 0 0
  1. import http.server
  2. import threading
  3. import functools
  4. import time
  5.  
  6. # Example simple http server as thread
  7.  
  8. class SilentHandler(http.server.SimpleHTTPRequestHandler):
  9.    
  10.     def log_message(self, format, *args, **kwargs):
  11.         # do any logging you like there
  12.         pass
  13.    
  14. class MyHttpServerThread(threading.Thread):
  15.    
  16.     def __init__(self, address=("0.0.0.0",8000), target_dir="."):
  17.         super().__init__()
  18.         self.address = address
  19.         self.target_dir = "."
  20.         self.server = http.server.HTTPServer(address, functools.partial(SilentHandler, directory=self.target_dir))
  21.         self.start()
  22.  
  23.     def run(self):
  24.         self.server.serve_forever(poll_interval=1)
  25.  
  26.     def stop(self):
  27.         self.server.shutdown() # don't call from this thread
  28.        
  29. # test  
  30.  
  31. if __name__ == "__main__":
  32.     http_server = MyHttpServerThread()
  33.     time.sleep(10)
  34.     http_server.stop()
  35.     print("done")
  36.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement