tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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)