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