github.com/juju/juju@v0.0.0-20240327075706-a90865de2538/testcharms/charms/network-health/scripts/simple-server.py (about)

     1  #!/usr/bin/python3
     2  import argparse
     3  from http.server import BaseHTTPRequestHandler
     4  import socketserver
     5  import os
     6  
     7  class SimpleRequestHandler(BaseHTTPRequestHandler):
     8      def do_GET(self):
     9          self.send_response(200)
    10          self.send_header('Content-type','text/plain')
    11          self.end_headers()
    12          self.wfile.write(bytes("pass", "utf8"))
    13  
    14  
    15  def parse_args(argv):
    16      parser = argparse.ArgumentParser(description="Simple http server.")
    17      parser.add_argument(
    18          '--port', default=8000, type=int, help='Port to serve on.')
    19  
    20      return parser.parse_args()
    21  
    22  
    23  def main(argv=None):
    24      args = parse_args(argv)
    25      server_details = ("", args.port)
    26      Handler = SimpleRequestHandler
    27      httpd = socketserver.TCPServer(server_details, Handler)
    28      try:
    29          httpd.serve_forever()
    30      except KeyboardInterrupt:
    31          print('Caught keyboard interrupt. Exiting.')
    32  
    33  
    34  if __name__ == '__main__':
    35      main()