Project

General

Profile

Bug #104663

StoreRequestMiddleware et XForwardedForMiddleware en doublon dans le settings.MIDDLEWARE

Added by Thomas Noël 13 days ago. Updated 13 days ago.

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.

Also available in: Atom PDF