mirror of
https://github.com/home-assistant/supervisor.git
synced 2025-07-15 13:16:29 +00:00
Use custom user agent string for aiohttp (#3033)
This commit is contained in:
parent
419f603571
commit
9497f85db9
@ -2,8 +2,12 @@
|
|||||||
from enum import Enum
|
from enum import Enum
|
||||||
from ipaddress import ip_network
|
from ipaddress import ip_network
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
from sys import version_info as systemversion
|
||||||
|
|
||||||
|
from aiohttp import __version__ as aiohttpversion
|
||||||
|
|
||||||
SUPERVISOR_VERSION = "DEV"
|
SUPERVISOR_VERSION = "DEV"
|
||||||
|
SERVER_SOFTWARE = f"HomeAssistantSupervisor/{SUPERVISOR_VERSION} aiohttp/{aiohttpversion} Python/{systemversion[0]}.{systemversion[1]}"
|
||||||
|
|
||||||
URL_HASSIO_ADDONS = "https://github.com/home-assistant/addons"
|
URL_HASSIO_ADDONS = "https://github.com/home-assistant/addons"
|
||||||
URL_HASSIO_APPARMOR = "https://version.home-assistant.io/apparmor.txt"
|
URL_HASSIO_APPARMOR = "https://version.home-assistant.io/apparmor.txt"
|
||||||
|
@ -5,13 +5,14 @@ import asyncio
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
|
from types import MappingProxyType
|
||||||
from typing import TYPE_CHECKING, Any, Callable, Coroutine, Optional, TypeVar
|
from typing import TYPE_CHECKING, Any, Callable, Coroutine, Optional, TypeVar
|
||||||
|
|
||||||
import aiohttp
|
import aiohttp
|
||||||
import sentry_sdk
|
import sentry_sdk
|
||||||
|
|
||||||
from .config import CoreConfig
|
from .config import CoreConfig
|
||||||
from .const import ENV_SUPERVISOR_DEV
|
from .const import ENV_SUPERVISOR_DEV, SERVER_SOFTWARE
|
||||||
from .docker import DockerAPI
|
from .docker import DockerAPI
|
||||||
from .utils.dt import UTC, get_time_zone
|
from .utils.dt import UTC, get_time_zone
|
||||||
|
|
||||||
@ -88,6 +89,11 @@ class CoreSys:
|
|||||||
self._jobs: Optional[JobManager] = None
|
self._jobs: Optional[JobManager] = None
|
||||||
self._security: Optional[Security] = None
|
self._security: Optional[Security] = None
|
||||||
|
|
||||||
|
# Set default header for aiohttp
|
||||||
|
self._websession._default_headers = MappingProxyType(
|
||||||
|
{aiohttp.hdrs.USER_AGENT: SERVER_SOFTWARE}
|
||||||
|
)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def dev(self) -> bool:
|
def dev(self) -> bool:
|
||||||
"""Return True if we run dev mode."""
|
"""Return True if we run dev mode."""
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
|
|
||||||
|
from aiohttp.hdrs import USER_AGENT
|
||||||
|
|
||||||
from supervisor.coresys import CoreSys
|
from supervisor.coresys import CoreSys
|
||||||
from supervisor.utils.dt import utcnow
|
from supervisor.utils.dt import utcnow
|
||||||
|
|
||||||
@ -29,3 +31,13 @@ def test_now(coresys: CoreSys):
|
|||||||
|
|
||||||
assert zurich != utc
|
assert zurich != utc
|
||||||
assert zurich - utc <= timedelta(hours=2)
|
assert zurich - utc <= timedelta(hours=2)
|
||||||
|
|
||||||
|
|
||||||
|
def test_custom_user_agent(coresys: CoreSys):
|
||||||
|
"""Test custom useragent."""
|
||||||
|
assert (
|
||||||
|
"HomeAssistantSupervisor/DEV"
|
||||||
|
in coresys.websession._default_headers[ # pylint: disable=protected-access
|
||||||
|
USER_AGENT
|
||||||
|
]
|
||||||
|
)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user