server-close.py (516B)
1 from typing import Optional 2 from urllib.parse import urlsplit, parse_qsl 3 4 5 def session_established(session): 6 path: Optional[bytes] = None 7 for key, value in session.request_headers: 8 if key == b':path': 9 path = value 10 assert path is not None 11 qs = dict(parse_qsl(urlsplit(path).query)) 12 code = qs[b'code'] if b'code' in qs else None 13 reason = qs[b'reason'] if b'reason' in qs else b'' 14 close_info = None if code is None else (int(code), reason) 15 16 session.close(close_info)