code: async def _request(self, *, http_verb, api_url, req_args):
          
          if self.session and not self.session.closed:
              async with self.session.request(http_verb, api_url, **req_args) as res:
                  self._logger.debug("Ran the request with existing session.")
                  return {
                      "data": await res.json(),
                      "headers": res.headers,
                      "status_code": res.status,
                  }
          async with aiohttp.ClientSession(
              loop=self._event_loop, timeout=aiohttp.ClientTimeout(total=self.timeout)
          ) as session:
              async with session.request(http_verb, api_url, **req_args) as res:
                  self._logger.debug("Ran the request with a new session.")
                  return {
                      "data": await res.json(),
                      "headers": res.headers,
                      "status_code": res.status,
                  }
docs: Submit the HTTP request with the running session or a new session.
          Returns:
              A dictionary of the response data.