diff --git a/apps/jumpserver/middleware.py b/apps/jumpserver/middleware.py index f76077b7f..5ce0616c1 100644 --- a/apps/jumpserver/middleware.py +++ b/apps/jumpserver/middleware.py @@ -101,6 +101,19 @@ class RefererCheckMiddleware: return response +class SQLCountMiddleware: + def __init__(self, get_response): + self.get_response = get_response + if not settings.DEBUG_DEV: + raise MiddlewareNotUsed + + def __call__(self, request): + from django.db import connection + response = self.get_response(request) + response['X-JMS-SQL-COUNT'] = len(connection.queries) + return response + + class StartMiddleware: def __init__(self, get_response): self.get_response = get_response diff --git a/apps/jumpserver/settings/base.py b/apps/jumpserver/settings/base.py index e956dbd69..7477f3f83 100644 --- a/apps/jumpserver/settings/base.py +++ b/apps/jumpserver/settings/base.py @@ -128,6 +128,7 @@ MIDDLEWARE = [ 'jumpserver.middleware.DemoMiddleware', 'jumpserver.middleware.RequestMiddleware', 'jumpserver.middleware.RefererCheckMiddleware', + 'jumpserver.middleware.SQLCountMiddleware', 'orgs.middleware.OrgMiddleware', 'authentication.backends.oidc.middleware.OIDCRefreshIDTokenMiddleware', 'authentication.backends.cas.middleware.CASMiddleware',