INNER CODE UNIT · Python

access_gate

slive777/OpenAver · web/app.py:408

async def access_gate(request: Request, call_next):
    """
    非 loopback 且認證已開啟時的 PIN 閘門。

    宣告在 `lan_access_gate`(下方)之前——依 Starlette 疊加語意(後宣告者
    最外層先執行,§1.2/§8.2 context7 結論),本 middleware 實際執行在
    `lan_access_gate` 放行**之後**(CD-114a-4):`lan_access_gate` 先擋掉
    單機模式下的所有非 loopback 流量,本 middleware 只處理「已經被放行
    進來」的 LAN 流量要不要認證。

    本機判斷一律委派 `_is_loopback_host()`(CD-114a-5,比 `_LOOPBACK_HOSTS`
    寬的判斷),不得自行解析位址/比對字串。
    """
    client_host = request.client.host if request.client else None
    if _is_loopback_host(client_host):
        return await call_next(request)

    snap = snapshot()

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…