mirror of
https://github.com/fastapi-admin/fastapi-admin.git
synced 2025-08-14 18:58:13 +08:00
new project
This commit is contained in:
22
fastapi_admin/middlewares.py
Normal file
22
fastapi_admin/middlewares.py
Normal file
@ -0,0 +1,22 @@
|
||||
from typing import Callable
|
||||
|
||||
from starlette.requests import Request
|
||||
|
||||
from fastapi_admin import template
|
||||
|
||||
|
||||
async def language_processor(request: Request, call_next: Callable):
|
||||
locale = request.query_params.get("language")
|
||||
if not locale:
|
||||
locale = request.cookies.get("language")
|
||||
if not locale:
|
||||
accept_language = request.headers.get("Accept-Language")
|
||||
if accept_language:
|
||||
locale = accept_language.split(",")[0].replace("-", "_")
|
||||
else:
|
||||
locale = None
|
||||
template.set_locale(locale)
|
||||
response = await call_next(request)
|
||||
if locale:
|
||||
response.set_cookie(key="language", value=locale)
|
||||
return response
|
Reference in New Issue
Block a user