@@ -60,18 +60,32 @@ def load_middleware_wrapper(wrapped, instance, args, kwargs):
6060 try :
6161 from django .conf import settings
6262
63- if DJ_INSTANA_MIDDLEWARE in settings .MIDDLEWARE :
64- return
65-
66- if type (settings .MIDDLEWARE ) is tuple :
67- settings .MIDDLEWARE = (DJ_INSTANA_MIDDLEWARE ,) + settings .MIDDLEWARE
68- elif type (settings .MIDDLEWARE ) is list :
69- settings .MIDDLEWARE = [DJ_INSTANA_MIDDLEWARE ] + settings .MIDDLEWARE
63+ # Django >=1.10 to <2.0 support old-style MIDDLEWARE_CLASSES so we
64+ # do as well here
65+ if hasattr (settings , 'MIDDLEWARE_CLASSES' ):
66+ if DJ_INSTANA_MIDDLEWARE in settings .MIDDLEWARE_CLASSES :
67+ return wrapped (* args , ** kwargs )
68+
69+ if type (settings .MIDDLEWARE_CLASSES ) is tuple :
70+ settings .MIDDLEWARE_CLASSES = (DJ_INSTANA_MIDDLEWARE ,) + settings .MIDDLEWARE_CLASSES
71+ elif type (settings .MIDDLEWARE_CLASSES ) is list :
72+ settings .MIDDLEWARE_CLASSES = [DJ_INSTANA_MIDDLEWARE ] + settings .MIDDLEWARE_CLASSES
73+ else :
74+ logger .warn ("Instana: Couldn't add InstanaMiddleware to Django" )
75+ elif hasattr (settings , 'MIDDLEWARE' ):
76+ if DJ_INSTANA_MIDDLEWARE in settings .MIDDLEWARE :
77+ return wrapped (* args , ** kwargs )
78+
79+ if type (settings .MIDDLEWARE ) is tuple :
80+ settings .MIDDLEWARE = (DJ_INSTANA_MIDDLEWARE ,) + settings .MIDDLEWARE
81+ elif type (settings .MIDDLEWARE ) is list :
82+ settings .MIDDLEWARE = [DJ_INSTANA_MIDDLEWARE ] + settings .MIDDLEWARE
83+ else :
84+ logger .warn ("Instana: Couldn't add InstanaMiddleware to Django" )
7085 else :
71- logger .warn ("Instana: Couldn't add InstanaMiddleware to Django " )
86+ logger .warn ("Instana: Couldn't find middleware settings " )
7287
7388 return wrapped (* args , ** kwargs )
74-
7589 except Exception as e :
7690 logger .warn ("Instana: Couldn't add InstanaMiddleware to Django: " , e )
7791
0 commit comments