class_docstr: Interact with HTTP servers.
  
  :param method: the API method to be called
  :param http_conn_id: :ref:`http connection<howto/connection:http>` that has the base
      API url i.e https://www.google.com/ and optional authentication credentials. Default
      headers can also be specified in the Extra field in json format.
  :param auth_type: The auth type for the service
  :param tcp_keep_alive: Enable TCP Keep Alive for the connection.
  :param tcp_keep_alive_idle: The TCP Keep Alive Idle parameter (corresponds to ``socket.TCP_KEEPIDLE``).
  :param tcp_keep_alive_count: The TCP Keep Alive count parameter (corresponds to ``socket.TCP_KEEPCNT``)
  :param tcp_keep_alive_interval: The TCP Keep Alive interval parameter (corresponds to
      ``socket.TCP_KEEPINTVL``)
  :param auth_args: extra arguments used to initialize the auth_type if different than default HTTPBasicAuth
class_docstr_tok: ["Interact","with","HTTP","servers",".",":","param","method",":","the","API","method","to","be","called",":","param","http_conn_id",":",":","ref",":","`","http","connection","<","howto\/connection",":","http",">","`","that","has","the","base","API","url","i.e","https",":","\/\/www.google.com\/","and","optional","authentication","credentials",".","Default","headers","can","also","be","specified","in","the","Extra","field","in","json","format",".",":","param","auth_type",":","The","auth","type","for","the","service",":","param","tcp_keep_alive",":","Enable","TCP","Keep","Alive","for","the","connection",".",":","param","tcp_keep_alive_idle",":","The","TCP","Keep","Alive","Idle","parameter","(","corresponds","to","``","socket.TCP_KEEPIDLE","``",")",".",":","param","tcp_keep_alive_count",":","The","TCP","Keep","Alive","count","parameter","(","corresponds","to","``","socket.TCP_KEEPCNT","``",")",":","param","tcp_keep_alive_interval",":","The","TCP","Keep","Alive","interval","parameter","(","corresponds","to","``","socket.TCP_KEEPINTVL","``",")",":","param","auth_args",":","extra","arguments","used","to","initialize","the","auth_type","if","different","than","default","HTTPBasicAuth"]
docstr: Run the hook with retry.
  
  This is useful for connectors which might be disturbed by intermittent
  issues and should not instantly fail.
  
  :param _retry_args: Arguments which define the retry behaviour.
      See Tenacity documentation at https://github.com/jd/tenacity
  
  
  .. code-block:: python
  
      hook = HttpHook(http_conn_id="my_conn", method="GET")
      retry_args = dict(
          wait=tenacity.wait_exponential(),
          stop=tenacity.stop_after_attempt(10),
          retry=tenacity.retry_if_exception_type(Exception),
      )
      hook.run_with_advanced_retry(endpoint="v1/test", _retry_args=retry_args)
docstr_tok: ["Run","the","hook","with","retry",".","This","is","useful","for","connectors","which","might","be","disturbed","by","intermittent","issues","and","should","not","instantly","fail",".",":","param","_retry_args",":","Arguments","which","define","the","retry","behaviour",".","See","Tenacity","documentation","at","https",":","\/\/github.com\/jd\/tenacity","..","code-block",":",":","python","hook","=","HttpHook","(","http_conn_id=","''","my_conn","''",",","method=","''","GET","''",")","retry_args","=","dict","(","wait=tenacity.wait_exponential","(",")",",","stop=tenacity.stop_after_attempt","(","10",")",",","retry=tenacity.retry_if_exception_type","(","Exception",")",",",")","hook.run_with_advanced_retry","(","endpoint=","''","v1\/test","''",",","_retry_args=retry_args",")"]
code: def run_with_advanced_retry(
      self, _retry_args: dict[Any, Any], *args: Any, **kwargs: Any
  ) -> Any:
      """Run the hook with retry.
  
      This is useful for connectors which might be disturbed by intermittent
      issues and should not instantly fail.
  
      :param _retry_args: Arguments which define the retry behaviour.
          See Tenacity documentation at https://github.com/jd/tenacity
  
  
      .. code-block:: python
  
          hook = HttpHook(http_conn_id="my_conn", method="GET")
          retry_args = dict(
              wait=tenacity.wait_exponential(),
              stop=tenacity.stop_after_attempt(10),
              retry=tenacity.retry_if_exception_type(Exception),
          )
          hook.run_with_advanced_retry(endpoint="v1/test", _retry_args=retry_args)
  
      """
      self._retry_obj = tenacity.Retrying(**_retry_args)
  
      return self._retry_obj(self.run, *args, **kwargs)
  
imports: from __future__ import annotations
  import asyncio
  from typing import TYPE_CHECKING, Any, Callable
  import aiohttp
  import requests
  import tenacity
  from aiohttp import ClientResponseError
  from asgiref.sync import sync_to_async
  from requests.auth import HTTPBasicAuth
  from requests.models import DEFAULT_REDIRECT_LIMIT
  from requests_toolbelt.adapters.socket_options import TCPKeepAliveAdapter
  from airflow.exceptions import AirflowException
  from airflow.hooks.base import BaseHook
label_desc: Use image node_id 8 for calling the HttpHook obj's underlying member method code with example usage: obj.run_with_advanced_retry(_retry_args) and returns: self