|
19 | 19 | import contextvars |
20 | 20 | from typing import Dict |
21 | 21 |
|
22 | | -HTTP_HOST = contextvars.ContextVar('HTTP_HOST') |
23 | | -HTTP_USER_AGENT = contextvars.ContextVar('HTTP_USER_AGENT') |
| 22 | +HTTP_HOST = contextvars.ContextVar('HTTP_HOST', default=None) |
| 23 | +HTTP_USER_AGENT = contextvars.ContextVar('HTTP_USER_AGENT', default=None) |
24 | 24 |
|
25 | 25 | HTTP_X_CLOUD_TRACE_CONTEXT = contextvars.ContextVar( |
26 | | - 'HTTP_X_CLOUD_TRACE_CONTEXT') |
| 26 | + 'HTTP_X_CLOUD_TRACE_CONTEXT', default=None) |
27 | 27 |
|
28 | 28 | HTTP_X_GOOGLE_DAPPERTRACEINFO = contextvars.ContextVar( |
29 | | - 'HTTP_X_GOOGLE_DAPPERTRACEINFO') |
| 29 | + 'HTTP_X_GOOGLE_DAPPERTRACEINFO', default=None) |
30 | 30 |
|
31 | 31 |
|
32 | 32 | PATH_INFO = contextvars.ContextVar('PATH_INFO') |
33 | | -PATH_TRANSLATED = contextvars.ContextVar('PATH_TRANSLATED') |
34 | | -QUERY_STRING = contextvars.ContextVar('QUERY_STRING') |
| 33 | +PATH_TRANSLATED = contextvars.ContextVar('PATH_TRANSLATED', default=None) |
| 34 | +QUERY_STRING = contextvars.ContextVar('QUERY_STRING', default=None) |
35 | 35 | SERVER_NAME = contextvars.ContextVar('SERVER_NAME') |
36 | 36 | SERVER_PORT = contextvars.ContextVar('SERVER_PORT') |
37 | 37 | SERVER_PROTOCOL = contextvars.ContextVar('SERVER_PROTOCOL') |
|
40 | 40 | def init_from_wsgi_environ( |
41 | 41 | wsgi_env) -> Dict[contextvars.ContextVar, contextvars.Token]: |
42 | 42 | reset_tokens: Dict[contextvars.ContextVar, contextvars.Token] = {} |
43 | | - for ctxvar in [v for _, v in globals().items() |
| 43 | + for ctxvar in [v for _, v in globals().copy().items() |
44 | 44 | if isinstance(v, contextvars.ContextVar)]: |
45 | 45 | if ctxvar.name in wsgi_env: |
46 | 46 | token = ctxvar.set(wsgi_env[ctxvar.name]) |
|
0 commit comments