Skip to content

Commit 2960710

Browse files
authored
Fix multiple set-cookie headers with addons ingress (#5996)
1 parent 8336537 commit 2960710

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

supervisor/api/ingress.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -309,9 +309,9 @@ async def _find_user_by_id(self, user_id: str) -> IngressSessionDataUser | None:
309309

310310
def _init_header(
311311
request: web.Request, addon: Addon, session_data: IngressSessionData | None
312-
) -> CIMultiDict | dict[str, str]:
312+
) -> CIMultiDict[str]:
313313
"""Create initial header."""
314-
headers = {}
314+
headers = CIMultiDict[str]()
315315

316316
if session_data is not None:
317317
headers[HEADER_REMOTE_USER_ID] = session_data.user.id
@@ -337,7 +337,7 @@ def _init_header(
337337
istr(HEADER_REMOTE_USER_DISPLAY_NAME),
338338
):
339339
continue
340-
headers[name] = value
340+
headers.add(name, value)
341341

342342
# Update X-Forwarded-For
343343
if request.transport:
@@ -348,9 +348,9 @@ def _init_header(
348348
return headers
349349

350350

351-
def _response_header(response: aiohttp.ClientResponse) -> dict[str, str]:
351+
def _response_header(response: aiohttp.ClientResponse) -> CIMultiDict[str]:
352352
"""Create response header."""
353-
headers = {}
353+
headers = CIMultiDict[str]()
354354

355355
for name, value in response.headers.items():
356356
if name in (
@@ -360,7 +360,7 @@ def _response_header(response: aiohttp.ClientResponse) -> dict[str, str]:
360360
hdrs.CONTENT_ENCODING,
361361
):
362362
continue
363-
headers[name] = value
363+
headers.add(name, value)
364364

365365
return headers
366366

0 commit comments

Comments
 (0)