23 lines
705 B
Python
23 lines
705 B
Python
"""Cookie parsing utilities for WebSocket authentication."""
|
|
|
|
|
|
def parse_cookies(cookie_header: str) -> dict[str, str]:
|
|
"""Parse HTTP cookie header into a dictionary."""
|
|
cookies: dict[str, str] = {}
|
|
if not cookie_header:
|
|
return cookies
|
|
|
|
for cookie_part in cookie_header.split(";"):
|
|
cookie_str = cookie_part.strip()
|
|
if "=" in cookie_str:
|
|
name, value = cookie_str.split("=", 1)
|
|
cookies[name.strip()] = value.strip()
|
|
|
|
return cookies
|
|
|
|
|
|
def extract_access_token_from_cookies(cookie_header: str) -> str | None:
|
|
"""Extract access token from HTTP cookies."""
|
|
cookies = parse_cookies(cookie_header)
|
|
return cookies.get("access_token")
|