docs: def serve_forever(self):
          """Starts the server handling commands and HTTP requests.
             The server will loop until done is True or a KeyboardInterrupt is
             received.
          """
          self.start_cmd_loop()
          try:
              while not self.done:
                  self.handle_request()
          except KeyboardInterrupt:
              # clean error output if log file is STD_ERR
              if log_file == sys.stderr:
                  log_file.write("\n")
          finally:
              if self._clean_up_call is not None:
                  self._clean_up_call()
              self.done = True