class_docstr: Client for interacting with the MLflow Deployments Server.
  
  Example:
  
  First, start the MLflow Deployments Server:
  
  .. code-block:: bash
  
      mlflow deployments start-server --config-path path/to/config.yaml
  
  Then, create a client and use it to interact with the server:
  
  .. code-block:: python
  
      from mlflow.deployments import get_deploy_client
  
      client = get_deploy_client("http://localhost:5000")
      endpoints = client.list_endpoints()
      assert [e.dict() for e in endpoints] == [
          {
              "name": "chat",
              "endpoint_type": "llm/v1/chat",
              "model": {"name": "gpt-3.5-turbo", "provider": "openai"},
              "endpoint_url": "http://localhost:5000/gateway/chat/invocations",
          },
      ]
code: def _call_endpoint(
      self,
      method: str,
      route: str,
      json_body: Optional[str] = None,
      timeout: Optional[int] = None,
  ):
      call_kwargs = {}
      if method.lower() == "get":
          call_kwargs["params"] = json_body
      else:
          call_kwargs["json"] = json_body
  
      response = http_request(
          host_creds=_get_default_host_creds(self.target_uri),
          endpoint=route,
          method=method,
          timeout=MLFLOW_HTTP_REQUEST_TIMEOUT.get()
          if timeout is None
          else timeout,
          retry_codes=MLFLOW_DEPLOYMENT_CLIENT_REQUEST_RETRY_CODES,
          raise_on_status=False,
          **call_kwargs,
      )
      augmented_raise_for_status(response)
      return response.json()
  
imports: from typing import TYPE_CHECKING, Any, Dict, List, Optional
  import requests
  from mlflow import MlflowException
  from mlflow.deployments import BaseDeploymentClient
  from mlflow.deployments.constants import MLFLOW_DEPLOYMENT_CLIENT_REQUEST_RETRY_CODES, MLFLOW_DEPLOYMENT_PREDICT_TIMEOUT
  from mlflow.deployments.server.config import Endpoint
  from mlflow.deployments.server.constants import MLFLOW_DEPLOYMENTS_CRUD_ENDPOINT_BASE, MLFLOW_DEPLOYMENTS_ENDPOINTS_BASE, MLFLOW_DEPLOYMENTS_QUERY_SUFFIX
  from mlflow.deployments.utils import resolve_endpoint_url
  from mlflow.environment_variables import MLFLOW_HTTP_REQUEST_TIMEOUT
  from mlflow.protos.databricks_pb2 import BAD_REQUEST
  from mlflow.store.entities.paged_list import PagedList
  from mlflow.tracking._tracking_service.utils import _get_default_host_creds
  from mlflow.utils.annotations import experimental
  from mlflow.utils.rest_utils import augmented_raise_for_status, http_request
  from mlflow.utils.uri import join_paths
label_desc: Use image node_id 9 for calling the MlflowDeploymentClient obj's underlying member method code with example usage: obj._call_endpoint(method, route, json_body, timeout) and returns: response