Home Assistant Unofficial Reference
2024.12.1
request_context.py
Go to the documentation of this file.
1
"""Middleware to set the request context."""
2
3
from
__future__
import
annotations
4
5
from
collections.abc
import
Awaitable, Callable
6
from
contextvars
import
ContextVar
7
8
from
aiohttp.web
import
Application, Request, StreamResponse, middleware
9
10
from
homeassistant.core
import
callback
11
from
homeassistant.helpers.http
import
current_request
# noqa: F401
12
13
14
@callback
15
def
setup_request_context
(
16
app: Application, context: ContextVar[Request |
None
]
17
) ->
None
:
18
"""Create request context middleware for the app."""
19
20
@middleware
21
async
def
request_context_middleware(
22
request: Request, handler: Callable[[Request], Awaitable[StreamResponse]]
23
) -> StreamResponse:
24
"""Request context middleware."""
25
context.set(request)
26
return
await handler(request)
27
28
app.middlewares.append(request_context_middleware)
homeassistant.components.http.request_context.setup_request_context
None setup_request_context(Application app, ContextVar[Request|None] context)
Definition:
request_context.py:17
homeassistant.core
Definition:
core.py:1
homeassistant.helpers.http
Definition:
http.py:1
core
homeassistant
components
http
request_context.py
Generated by
1.9.1