from typing import Optional
from urllib.parse import urlsplit, parse_qsl


def session_established(session):
    path: Optional[bytes] = None
    for key, value in session.request_headers:
        if key == b":path":
            path = value
    assert path is not None
    qs = dict(parse_qsl(urlsplit(path).query))
    code = qs[b"code"] if b"code" in qs else None
    reason = qs[b"reason"] if b"reason" in qs else b""
    close_info = None if code is None else (int(code), reason)

    session.close(close_info)
