ext/django: accept middlewares declared as tuples (#950)

This commit is contained in:
Simon THOBY
2020-08-05 20:29:02 +02:00
committed by GitHub
parent b372486958
commit 7de89b2005

View File

@ -51,8 +51,12 @@ class DjangoInstrumentor(BaseInstrumentor):
# https://docs.djangoproject.com/en/3.0/ref/middleware/#middleware-ordering
settings_middleware = getattr(settings, "MIDDLEWARE", [])
settings_middleware.append(self._opentelemetry_middleware)
# Django allows to specify middlewares as a tuple, so we convert this tuple to a
# list, otherwise we wouldn't be able to call append/remove
if isinstance(settings_middleware, tuple):
settings_middleware = list(settings_middleware)
settings_middleware.append(self._opentelemetry_middleware)
setattr(settings, "MIDDLEWARE", settings_middleware)
def _uninstrument(self, **kwargs):