fix: Create new aiohttp session with DummyCookieJar (#147827)

This commit is contained in:
micha91 2025-07-01 15:50:04 +02:00 committed by Franck Nijhof
parent f85fc7173f
commit ff25948e37
No known key found for this signature in database
GPG Key ID: AB33ADACE7101952
2 changed files with 8 additions and 6 deletions

View File

@ -4,13 +4,14 @@ from __future__ import annotations
import logging import logging
from aiohttp import DummyCookieJar
from aiomusiccast.musiccast_device import MusicCastDevice from aiomusiccast.musiccast_device import MusicCastDevice
from homeassistant.components import ssdp from homeassistant.components import ssdp
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_HOST, Platform from homeassistant.const import CONF_HOST, Platform
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers.aiohttp_client import async_get_clientsession from homeassistant.helpers.aiohttp_client import async_create_clientsession
from .const import CONF_SERIAL, CONF_UPNP_DESC, DOMAIN from .const import CONF_SERIAL, CONF_UPNP_DESC, DOMAIN
from .coordinator import MusicCastDataUpdateCoordinator from .coordinator import MusicCastDataUpdateCoordinator
@ -52,7 +53,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
client = MusicCastDevice( client = MusicCastDevice(
entry.data[CONF_HOST], entry.data[CONF_HOST],
async_get_clientsession(hass), async_create_clientsession(hass, cookie_jar=DummyCookieJar()),
entry.data[CONF_UPNP_DESC], entry.data[CONF_UPNP_DESC],
) )
coordinator = MusicCastDataUpdateCoordinator(hass, entry, client=client) coordinator = MusicCastDataUpdateCoordinator(hass, entry, client=client)

View File

@ -6,13 +6,13 @@ import logging
from typing import Any from typing import Any
from urllib.parse import urlparse from urllib.parse import urlparse
from aiohttp import ClientConnectorError from aiohttp import ClientConnectorError, DummyCookieJar
from aiomusiccast import MusicCastConnectionException, MusicCastDevice from aiomusiccast import MusicCastConnectionException, MusicCastDevice
import voluptuous as vol import voluptuous as vol
from homeassistant.config_entries import ConfigFlow, ConfigFlowResult from homeassistant.config_entries import ConfigFlow, ConfigFlowResult
from homeassistant.const import CONF_HOST from homeassistant.const import CONF_HOST
from homeassistant.helpers.aiohttp_client import async_get_clientsession from homeassistant.helpers.aiohttp_client import async_create_clientsession
from homeassistant.helpers.service_info.ssdp import ( from homeassistant.helpers.service_info.ssdp import (
ATTR_UPNP_FRIENDLY_NAME, ATTR_UPNP_FRIENDLY_NAME,
ATTR_UPNP_SERIAL, ATTR_UPNP_SERIAL,
@ -50,7 +50,7 @@ class MusicCastFlowHandler(ConfigFlow, domain=DOMAIN):
try: try:
info = await MusicCastDevice.get_device_info( info = await MusicCastDevice.get_device_info(
host, async_get_clientsession(self.hass) host, async_create_clientsession(self.hass, cookie_jar=DummyCookieJar())
) )
except (MusicCastConnectionException, ClientConnectorError): except (MusicCastConnectionException, ClientConnectorError):
errors["base"] = "cannot_connect" errors["base"] = "cannot_connect"
@ -89,7 +89,8 @@ class MusicCastFlowHandler(ConfigFlow, domain=DOMAIN):
) -> ConfigFlowResult: ) -> ConfigFlowResult:
"""Handle ssdp discoveries.""" """Handle ssdp discoveries."""
if not await MusicCastDevice.check_yamaha_ssdp( if not await MusicCastDevice.check_yamaha_ssdp(
discovery_info.ssdp_location, async_get_clientsession(self.hass) discovery_info.ssdp_location,
async_create_clientsession(self.hass, cookie_jar=DummyCookieJar()),
): ):
return self.async_abort(reason="yxc_control_url_missing") return self.async_abort(reason="yxc_control_url_missing")