code: def connect(self, url, token, proxies=None):
      sslopt = None
      if os.getenv("NEPTUNE_ALLOW_SELF_SIGNED_CERTIFICATE"):
          sslopt = {"cert_reqs": ssl.CERT_NONE}
  
      proto = url.split(":")[0].replace("ws", "http")
      proxy = (
          proxies[proto]
          if proxies and proto in proxies
          else os.getenv("{}_PROXY".format(proto.upper()))
      )
  
      if proxy:
          proxy_split = urllib.parse.urlparse(proxy).netloc.split(":")
          proxy_host = proxy_split[0]
          proxy_port = (
              proxy_split[1]
              if len(proxy_split) > 1
              else "80"
              if proto == "http"
              else "443"
          )
      else:
          proxy_host = None
          proxy_port = None
  
      self._ws_client = create_connection(
          url,
          header=self._auth_header(token),
          sslopt=sslopt,
          http_proxy_host=proxy_host,
          http_proxy_port=proxy_port,
      )
  
file_path: neptune-client/src/neptune/common/websockets/websocket_client_adapter.py
imports: import os
  import ssl
  from future.utils import PY3
  from six.moves import urllib
  from websocket import ABNF, create_connection
label_desc: Use image node_id 2 for calling the WebsocketClientAdapter obj's underlying member method code with example usage: obj.connect(url, token, proxies) without return types