class_docstr: A wrapper around PythonService object that receives requests and calls the
  corresponding methods.
class_docstr_tok: ["A","wrapper","around","PythonService","object","that","receives","requests","and","calls","the","corresponding","methods","."]
code: def manage_request(self, msg):
      try:
          logger.debug(f"Received request {type(msg).__name__}")
          if isinstance(msg, LoadObject):
              response = self.ps.load_object(*msg)
          elif isinstance(msg, DeleteObjects):
              response = self.ps.delete_objects(msg.uris)
          elif isinstance(msg, FlushObjects):
              response = self.ps.flush_objects()
          elif isinstance(msg, CountObjects):
              response = self.ps.count_objects()
          elif isinstance(msg, ListObjects):
              response = self.ps.list_objects()
          else:
              response = UnknownMessage(msg)
  
          logger.debug(f"Returning response {response}")
          return response
      except Exception as e:
          logger.exception(e)
          msg = e
          if hasattr(e, "message"):
              msg = e.message
          logger.error(f"Error processing request: {msg}")
          return UnknownMessage(msg)
  
file_path: TabPy/tabpy/tabpy_server/psws/python_service.py
imports: import concurrent.futures
  import logging
  from tabpy.tabpy_server.common.util import format_exception
  from tabpy.tabpy_server.common.messages import LoadObject, DeleteObjects, FlushObjects, CountObjects, ListObjects, UnknownMessage, LoadFailed, ObjectsDeleted, ObjectsFlushed, QueryFailed, QuerySuccessful, UnknownURI, DownloadSkipped, LoadInProgress, ObjectCount, ObjectList
  from tabpy.tabpy_tools.query_object import QueryObject
label_desc: Use image node_id 2 for calling the PythonServiceHandler obj's underlying member method code with example usage: obj.manage_request(msg) and returns: response, UnknownMessage