25 lines
849 B
Python
25 lines
849 B
Python
"""August util functions."""
|
|
|
|
import socket
|
|
|
|
import aiohttp
|
|
|
|
from homeassistant.core import HomeAssistant, callback
|
|
from homeassistant.helpers import aiohttp_client
|
|
|
|
|
|
@callback
|
|
def async_create_august_clientsession(hass: HomeAssistant) -> aiohttp.ClientSession:
|
|
"""Create an aiohttp session for the august integration."""
|
|
# Create an aiohttp session instead of using the default one since the
|
|
# default one is likely to trigger august's WAF if another integration
|
|
# is also using Cloudflare
|
|
#
|
|
# The family is set to AF_INET because IPv6 keeps coming up as an issue
|
|
# see https://github.com/home-assistant/core/issues/97146
|
|
#
|
|
# When https://github.com/aio-libs/aiohttp/issues/4451 is implemented
|
|
# we can allow IPv6 again
|
|
#
|
|
return aiohttp_client.async_create_clientsession(hass, family=socket.AF_INET)
|