From 1dfddffc8dac744fd6a6fbfd937018074c8bb166 Mon Sep 17 00:00:00 2001 From: Anders Kaseorg Date: Thu, 13 Jan 2022 18:23:49 -0800 Subject: [PATCH] profile_request: Use modern Django middleware API. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes “RemovedInDjango40Warning: Passing None for the middleware get_response argument is deprecated.” from LogRequests(). Signed-off-by: Anders Kaseorg --- zilencer/management/commands/profile_request.py | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/zilencer/management/commands/profile_request.py b/zilencer/management/commands/profile_request.py index 1c948c2eed..c2ba4dc69c 100644 --- a/zilencer/management/commands/profile_request.py +++ b/zilencer/management/commands/profile_request.py @@ -14,8 +14,6 @@ from zerver.middleware import LogRequests from zerver.models import UserMessage from zerver.views.message_fetch import get_messages_backend -request_logger = LogRequests() - class MockSession(SessionBase): def __init__(self) -> None: @@ -23,16 +21,15 @@ class MockSession(SessionBase): def profile_request(request: HttpRequest) -> HttpResponse: - request_logger.process_request(request) + def get_response(request: HttpRequest) -> HttpResponse: + return prof.runcall(get_messages_backend, request, request.user, apply_markdown=True) + prof = cProfile.Profile() - prof.enable() - ret = get_messages_backend(request, request.user, apply_markdown=True) - prof.disable() with tempfile.NamedTemporaryFile(prefix="profile.data.", delete=False) as stats_file: + response = LogRequests(get_response)(request) prof.dump_stats(stats_file.name) - request_logger.process_response(request, ret) logging.info("Profiling data written to %s", stats_file.name) - return ret + return response class Command(ZulipBaseCommand):