diff --git a/ae5_tools/api.py b/ae5_tools/api.py index 39c98f2c..17d24970 100644 --- a/ae5_tools/api.py +++ b/ae5_tools/api.py @@ -253,12 +253,23 @@ def __init__(self, hostname, username, password, prefix, persist): self.persist = persist self.prefix = prefix.lstrip("/") self.session: Session = AESessionBase._build_requests_session() + self._set_cf_headers() if self.persist: self._load() self.connected = self._connected() if self.connected: self._set_header() + def _set_cf_headers(self): + # If cloudflare auth is enabled, then get and set the headers + # https://developers.cloudflare.com/cloudflare-one/identity/service-tokens/#connect-your-service-to-access + # CF-Access-Client-Id: + # CF-Access-Client-Secret: + + if get_env_var(name="CF_ACCESS_CLIENT_ID") and get_env_var(name="CF_ACCESS_CLIENT_SECRET"): + self.session.headers["CF-Access-Client-Id"] = demand_env_var(name="CF_ACCESS_CLIENT_ID") + self.session.headers["CF-Access-Client-Secret"] = demand_env_var(name="CF_ACCESS_CLIENT_SECRET") + @staticmethod def _build_requests_session() -> Session: """ @@ -623,15 +634,7 @@ def _set_header(self): if cookie.name == "_xsrf": s.headers["x-xsrftoken"] = cookie.value break - - # If cloudflare auth is enabled, then get and set the headers - # https://developers.cloudflare.com/cloudflare-one/identity/service-tokens/#connect-your-service-to-access - # CF-Access-Client-Id: - # CF-Access-Client-Secret: - - if get_env_var(name="CF_ACCESS_CLIENT_ID") and get_env_var(name="CF_ACCESS_CLIENT_SECRET"): - s.headers["CF-Access-Client-Id"] = demand_env_var(name="CF_ACCESS_CLIENT_ID") - s.headers["CF-Access-Client-Secret"] = demand_env_var(name="CF_ACCESS_CLIENT_SECRET") + self._set_cf_headers() def _load(self): s = self.session