Thread-safe container for the OAuth callback result.
| 203 | |
| 204 | |
| 205 | class _OAuthResult: |
| 206 | """Thread-safe container for the OAuth callback result.""" |
| 207 | |
| 208 | def __init__(self) -> None: |
| 209 | self.code: str | None = None |
| 210 | self.error: str | None = None |
| 211 | self.ready = threading.Event() |
| 212 | |
| 213 | def set_code(self, code: str) -> None: |
| 214 | self.code = code |
| 215 | self.ready.set() |
| 216 | |
| 217 | def set_error(self, error: str) -> None: |
| 218 | self.error = error |
| 219 | self.ready.set() |
| 220 | |
| 221 | |
| 222 | def _make_handler(result: _OAuthResult, expected_state: str) -> type[BaseHTTPRequestHandler]: |