code: def run(self):
          
          try:
              # Go through the list of possible ports, hoping we can find
              # one that is free to use for the WSGI server.
              for index, port in enumerate(self.possible_ports):
                  try:
                      self.httpd = self._create_server(port)
                  except socket.error as e:
                      if (index + 1 < len(self.possible_ports) and
                              e.error == errno.EADDRINUSE):
                          # This port is already in use, so we go on and try with
                          # the next one in the list.
                          continue
                      else:
                          # Either none of the given ports are free or the error
                          # is something else than "Address already in use". So
                          # we let that error bubble up to the main thread.
                          raise
                  else:
                      # A free port was found.
                      self.port = port
                      break
  
              self.is_ready.set()
              self.httpd.serve_forever()
          except Exception as e:
              self.error = e
              self.is_ready.set()
docs: Sets up live server, and then loops over handling http requests.