class_docstr: TabPy application class for keeping context like settings, state, etc.
code: def _validate_transfer_protocol_settings(self):
      if SettingsParameters.TransferProtocol not in self.settings:
          msg = "Missing transfer protocol information."
          logger.critical(msg)
          raise RuntimeError(msg)
  
      protocol = self.settings[SettingsParameters.TransferProtocol]
  
      if protocol == "http":
          return
  
      if protocol != "https":
          msg = f"Unsupported transfer protocol: {protocol}"
          logger.critical(msg)
          raise RuntimeError(msg)
  
      self._validate_cert_key_state(
          "The parameter(s) {} must be set.",
          SettingsParameters.CertificateFile in self.settings,
          SettingsParameters.KeyFile in self.settings,
      )
      cert = self.settings[SettingsParameters.CertificateFile]
  
      self._validate_cert_key_state(
          "The parameter(s) {} must point to " "an existing file.",
          os.path.isfile(cert),
          os.path.isfile(self.settings[SettingsParameters.KeyFile]),
      )
      tabpy.tabpy_server.app.util.validate_cert(cert)
  
imports: import concurrent.futures
  import configparser
  import logging
  import multiprocessing
  import os
  import shutil
  import signal
  import sys
  import _thread
  import tornado
  from tornado.http1connection import HTTP1Connection
  import tabpy
  import tabpy.tabpy_server.app.arrow_server
  from tabpy.tabpy import __version__
  from tabpy.tabpy_server.app.app_parameters import ConfigParameters, SettingsParameters
  from tabpy.tabpy_server.app.util import parse_pwd_file
  from tabpy.tabpy_server.handlers.basic_auth_server_middleware_factory import BasicAuthServerMiddlewareFactory
  from tabpy.tabpy_server.handlers.no_op_auth_handler import NoOpAuthHandler
  from tabpy.tabpy_server.management.state import TabPyState
  from tabpy.tabpy_server.management.util import _get_state_from_file
  from tabpy.tabpy_server.psws.callbacks import init_model_evaluator, init_ps_server
  from tabpy.tabpy_server.psws.python_service import PythonService, PythonServiceHandler
  from tabpy.tabpy_server.handlers import EndpointHandler, EndpointsHandler, EvaluationPlaneHandler, EvaluationPlaneDisabledHandler, QueryPlaneHandler, ServiceInfoHandler, StatusHandler, UploadDestinationHandler
label_desc: Use image node_id 8 for calling the TabPyApp obj's underlying member method code with example usage: obj._validate_transfer_protocol_settings() without return types