🌐 i18n(app): relocate locale middleware for improved organization

- move add_locale_to_request middleware above session middleware
- enhance code readability and maintainability by organizing middleware setup
This commit is contained in:
nocci 2025-12-06 14:03:56 +00:00
parent 21d7c1e9a6
commit 56f98e3597

View file

@ -44,6 +44,15 @@ if not SESSION_SECRET or SESSION_SECRET.startswith("CHANGE_ME"):
SESSION_COOKIE_SECURE = os.getenv("SESSION_COOKIE_SECURE", "1") != "0" SESSION_COOKIE_SECURE = os.getenv("SESSION_COOKIE_SECURE", "1") != "0"
@app.middleware("http")
async def add_locale_to_request(request: Request, call_next):
request.state.locale = resolve_locale(request)
response = await call_next(request)
return response
# Session middleware (server-side session based on signed cookie)
app.add_middleware( app.add_middleware(
SessionMiddleware, SessionMiddleware,
secret_key=SESSION_SECRET, secret_key=SESSION_SECRET,
@ -54,13 +63,6 @@ app.add_middleware(
) )
@app.middleware("http")
async def add_locale_to_request(request: Request, call_next):
request.state.locale = resolve_locale(request)
response = await call_next(request)
return response
@pass_context @pass_context
def _t(ctx, key: str, **kwargs) -> str: def _t(ctx, key: str, **kwargs) -> str:
request = ctx.get("request") request = ctx.get("request")