code: async def async_request(session, url, **kwargs):
      
      _LOGGER.debug("Sending %s to %s", kwargs, url)
  
      try:
          res = await session(url, **kwargs)
  
          if res.content_type != 'application/json':
              raise ResponseError(
                  "Invalid content type: {}".format(res.content_type))
  
          response = await res.json()
          _LOGGER.debug("HTTP request response: %s", response)
  
          _raise_on_error(response)
  
          return response
  
      except aiohttp.client_exceptions.ClientError as err:
          raise RequestError(
              "Error requesting data from {}: {}".format(url, err)
          ) from None
docs: Do a web request and manage response.