From 38fc0bd88978f61c36a878d4cf8665468163ab9a Mon Sep 17 00:00:00 2001 From: Manu <4445816+tr4nt0r@users.noreply.github.com> Date: Fri, 11 Oct 2024 17:28:22 +0200 Subject: [PATCH] Add x-client headers to Habitica API calls (#127952) Add x-client headers --- homeassistant/components/habitica/__init__.py | 10 ++++++++++ homeassistant/components/habitica/const.py | 2 ++ 2 files changed, 12 insertions(+) diff --git a/homeassistant/components/habitica/__init__.py b/homeassistant/components/habitica/__init__.py index 0f5b9bd2b50..21938aa06a6 100644 --- a/homeassistant/components/habitica/__init__.py +++ b/homeassistant/components/habitica/__init__.py @@ -10,12 +10,14 @@ import voluptuous as vol from homeassistant.config_entries import ConfigEntry from homeassistant.const import ( + APPLICATION_NAME, ATTR_NAME, CONF_API_KEY, CONF_NAME, CONF_URL, CONF_VERIFY_SSL, Platform, + __version__, ) from homeassistant.core import ( HomeAssistant, @@ -41,6 +43,7 @@ from .const import ( ATTR_SKILL, ATTR_TASK, CONF_API_USER, + DEVELOPER_ID, DOMAIN, EVENT_API_CALL_SUCCESS, SERVICE_API_CALL, @@ -164,6 +167,13 @@ async def async_setup_entry( def __call__(self, **kwargs): return super().__call__(websession, **kwargs) + def _make_headers(self) -> dict[str, str]: + headers = super()._make_headers() + headers.update( + {"x-client": f"{DEVELOPER_ID} - {APPLICATION_NAME} {__version__}"} + ) + return headers + async def handle_api_call(call: ServiceCall) -> None: name = call.data[ATTR_NAME] path = call.data[ATTR_PATH] diff --git a/homeassistant/components/habitica/const.py b/homeassistant/components/habitica/const.py index f089be1b736..ae29971d66f 100644 --- a/homeassistant/components/habitica/const.py +++ b/homeassistant/components/habitica/const.py @@ -26,3 +26,5 @@ ATTR_CONFIG_ENTRY = "config_entry" ATTR_SKILL = "skill" ATTR_TASK = "task" SERVICE_CAST_SKILL = "cast_skill" + +DEVELOPER_ID = "4c4ca53f-c059-4ffa-966e-9d29dd405daf"