Bug #104663
StoreRequestMiddleware et XForwardedForMiddleware en doublon dans le settings.MIDDLEWARE
Status:
Nouveau
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
11 April 2025
Due date:
% Done:
0%
Estimated time:
Patch proposed:
No
Planning:
No
Description
Sur une instance de hobo lancée, le debian/debian_config_common.py ajoute des middleware au début :
MIDDLEWARE = ( 'hobo.middleware.utils.StoreRequestMiddleware', 'hobo.middleware.xforwardedfor.XForwardedForMiddleware', ) + MIDDLEWARE
Et donc on obtient cette liste :
>>> settings.MIDDLEWARE Out[3]: ('hobo.middleware.utils.StoreRequestMiddleware', 'hobo.middleware.xforwardedfor.XForwardedForMiddleware', 'hobo.multitenant.middleware.TenantMiddleware', 'hobo.middleware.debug.InternalIPMiddleware', 'hobo.middleware.RobotsTxtMiddleware', 'hobo.middleware.ping.PingMiddleware', 'hobo.middleware.security.content_security_policy_middleware', 'hobo.middleware.VersionMiddleware', 'hobo.middleware.cors.CORSMiddleware', 'hobo.middleware.maintenance.MaintenanceMiddleware', 'hobo.middleware.wellknown.WellKnownMiddleware', 'hobo.middleware.xforwardedfor.XForwardedForMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.locale.LocaleMiddleware', 'hobo.middleware.common.HoboCommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'hobo.middleware.utils.StoreRequestMiddleware', 'mellon.middleware.PassiveAuthenticationMiddleware', 'hobo.provisionning.middleware.ProvisionningMiddleware')
Avec deux doublons, parce que ces deux middleware sont déjà dans hobo/settings.py... Rien de grave mais c'est nunuche.
Ca serait mieux de nettoyer un peu l'affaire -- tout en faisant en sorte que ces deux middleware soient bien au début de la liste, surtout StoreRequestMiddleware nécessaire aux autres. Sans doute un peu de logique à poser dans debian/debian_config_common.py au lieu du simple ajout actuel.