code: def __init__(
      self,
      *args,
      raise_for_status: bool = True,
      timeout: Union[aiohttp.ClientTimeout, float, int, None] = None,
      **kwargs,
  ):
      location = get_deploy_config().location()
      if location == "external":
          tls = external_client_ssl_context()
      elif location == "k8s":
          tls = internal_client_ssl_context()
      else:
          assert location in ("gce", "azure")
          # no encryption on the internal gateway
          tls = external_client_ssl_context()
  
      assert "connector" not in kwargs
  
      if timeout is None:
          timeout = aiohttp.ClientTimeout(total=5)
      if isinstance(timeout, (float, int)):
          timeout = aiohttp.ClientTimeout(total=timeout)
  
      self.loop = asyncio.get_running_loop()
      self.raise_for_status = raise_for_status
      self.client_session = aiohttp.ClientSession(
          *args,
          timeout=timeout,
          raise_for_status=False,
          connector=aiohttp.TCPConnector(ssl=tls),
          **kwargs,
      )
  
imports: from typing import Any, Tuple, Optional, Type, Union
  import asyncio
  from types import TracebackType
  import orjson
  import aiohttp
  import aiohttp.abc
  import aiohttp.typedefs
  from .tls import internal_client_ssl_context, external_client_ssl_context
  from .config.deploy_config import get_deploy_config
label_desc: Use image node_id 1 to create a new ClientSession object  with example: obj = ClientSession()