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
from aiohttp import DummyCookieJar
from aiomusiccast.musiccast_device import MusicCastDevice
from homeassistant.components import ssdp
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_HOST, Platform
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 .coordinator import MusicCastDataUpdateCoordinator
@ -52,7 +53,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
client = MusicCastDevice(
entry.data[CONF_HOST],
async_get_clientsession(hass),
async_create_clientsession(hass, cookie_jar=DummyCookieJar()),
entry.data[CONF_UPNP_DESC],
)
coordinator = MusicCastDataUpdateCoordinator(hass, entry, client=client)

View File

@ -6,13 +6,13 @@ import logging
from typing import Any
from urllib.parse import urlparse
from aiohttp import ClientConnectorError
from aiohttp import ClientConnectorError, DummyCookieJar
from aiomusiccast import MusicCastConnectionException, MusicCastDevice
import voluptuous as vol
from homeassistant.config_entries import ConfigFlow, ConfigFlowResult
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 (
ATTR_UPNP_FRIENDLY_NAME,
ATTR_UPNP_SERIAL,
@ -50,7 +50,7 @@ class MusicCastFlowHandler(ConfigFlow, domain=DOMAIN):
try:
info = await MusicCastDevice.get_device_info(
host, async_get_clientsession(self.hass)
host, async_create_clientsession(self.hass, cookie_jar=DummyCookieJar())
)
except (MusicCastConnectionException, ClientConnectorError):
errors["base"] = "cannot_connect"
@ -89,7 +89,8 @@ class MusicCastFlowHandler(ConfigFlow, domain=DOMAIN):
) -> ConfigFlowResult:
"""Handle ssdp discoveries."""
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")