docs: async def get_data(self, path, headers=None, timeout=None):
          """Perform a GET request."""
          url = self.base_url + path
          _LOGGER.debug('GET URL: %s', url)
          resp = None
          try:
              resp = await self._session.get(
                  url, headers=headers,
                  timeout=DEFAULT_TIMEOUT if timeout is None else timeout)
              if resp.content_length is not None:
                  resp_data = await resp.read()
              else:
                  resp_data = None
              return resp_data, resp.status
          except Exception as ex:
              if resp is not None:
                  resp.close()
              raise ex
          finally:
              if resp is not None:
                  await resp.release()