Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 2e70088

Browse files
authored
ext/django: accept middlewares declared as tuples (open-telemetry#950)
1 parent 81025e1 commit 2e70088

File tree

1 file changed

+5
-1
lines changed
  • instrumentation/opentelemetry-instrumentation-django/src/opentelemetry/instrumentation/django

1 file changed

+5
-1
lines changed

instrumentation/opentelemetry-instrumentation-django/src/opentelemetry/instrumentation/django/__init__.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,12 @@ def _instrument(self, **kwargs):
5151
# https://docs.djangoproject.com/en/3.0/ref/middleware/#middleware-ordering
5252

5353
settings_middleware = getattr(settings, "MIDDLEWARE", [])
54-
settings_middleware.append(self._opentelemetry_middleware)
54+
# Django allows to specify middlewares as a tuple, so we convert this tuple to a
55+
# list, otherwise we wouldn't be able to call append/remove
56+
if isinstance(settings_middleware, tuple):
57+
settings_middleware = list(settings_middleware)
5558

59+
settings_middleware.append(self._opentelemetry_middleware)
5660
setattr(settings, "MIDDLEWARE", settings_middleware)
5761

5862
def _uninstrument(self, **kwargs):

0 commit comments

Comments
 (0)