code: def get(self):
      if self.should_fail_with_auth_error() != AuthErrorStates.NONE:
          self.fail_with_auth_error()
          return
  
      self._add_CORS_header()
      info = {}
      info["description"] = self.tabpy_state.get_description()
      info["creation_time"] = self.tabpy_state.creation_time
      info["state_path"] = self.settings[
          SettingsParameters.StateFilePath
      ]
      info["server_version"] = self.settings[
          SettingsParameters.ServerVersion
      ]
      info["name"] = self.tabpy_state.name
      info["versions"] = self.settings[SettingsParameters.ApiVersions]
      self.write(json.dumps(info))
  
file_path: TabPy/tabpy/tabpy_server/handlers/service_info_handler.py
imports: import json
  from tabpy.tabpy_server.app.app_parameters import SettingsParameters
  from tabpy.tabpy_server.handlers import ManagementHandler
  from tabpy.tabpy_server.handlers.util import AuthErrorStates
label_desc: Use image node_id 2 for calling the ServiceInfoHandler obj's underlying member method code with example usage: obj.get() without return types