class_docstr: A wrapper class around the requests library which handles chores like logging, retries, and timeouts
  automatically.
class_docstr_tok: ["A","wrapper","class","around","the","requests","library","which","handles","chores","like","logging",",","retries",",","and","timeouts","automatically","."]
docstr: This function is used to log the messages in the client, it can be overridden by caller to customise the
  logging logic.
  
  We enabled customisation here instead of just using `logger.debug` because HTTP logging can be very noisy, but
  it is crucial for finding bugs when we have them
docstr_tok: ["This","function","is","used","to","log","the","messages","in","the","client",",","it","can","be","overridden","by","caller","to","customise","the","logging","logic",".","We","enabled","customisation","here","instead","of","just","using","`","logger.debug","`","because","HTTP","logging","can","be","very","noisy",",","but","it","is","crucial","for","finding","bugs","when","we","have","them"]
code: def log_function(self, message: str, *args, **kwargs: Any):
      """This function is used to log the messages in the client, it can be overridden by caller to customise the
      logging logic.
  
      We enabled customisation here instead of just using `logger.debug` because HTTP logging can be very noisy, but
      it is crucial for finding bugs when we have them
  
      """
      pass
  
imports: import socket
  from functools import wraps
  from typing import Any, Callable, Dict, Optional
  from urllib.parse import urljoin
  import requests
  from lightning_cloud.rest_client import GridRestClient, LightningClient, create_swagger_client
  from requests import Session
  from requests.adapters import HTTPAdapter
  from requests.exceptions import ConnectionError, ConnectTimeout, ReadTimeout
  from urllib3.util.retry import Retry
  from lightning.app.core import constants
  from lightning.app.utilities.app_helpers import Logger
label_desc: Use image node_id 5 for calling the HTTPClient obj's underlying member method code with example usage: obj.log_function(message) without return types