From 28bf9c12282541d2b3b72c22505965675bc882d0 Mon Sep 17 00:00:00 2001 From: Michael Derynck Date: Thu, 10 Nov 2022 14:52:53 -0700 Subject: [PATCH 1/3] Only copy headers we need when forwarding to a different backend --- engine/apps/user_management/middlewares.py | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/engine/apps/user_management/middlewares.py b/engine/apps/user_management/middlewares.py index 30d2bba7..71d54680 100644 --- a/engine/apps/user_management/middlewares.py +++ b/engine/apps/user_management/middlewares.py @@ -22,16 +22,15 @@ class OrganizationMovedMiddleware(MiddlewareMixin): ) url = create_engine_url(request.path, override_base=region.oncall_backend_url) - if request.META["QUERY_STRING"]: + if request.META.get("QUERY_STRING", None): url = f"{url}?{request.META['QUERY_STRING']}" - regex = re.compile("^HTTP_") - headers = dict( - (regex.sub("", header), value) for (header, value) in request.META.items() if header.startswith("HTTP_") - ) - headers.pop("HOST", None) - if request.META["CONTENT_TYPE"]: - headers["CONTENT_TYPE"] = request.META["CONTENT_TYPE"] + headers = {} + if request.META.get("CONTENT_TYPE", None): + headers["Content-type"] = request.META["CONTENT_TYPE"] + + if request.META.get("HTTP_AUTHORIZATION", None): + headers["Authorization"] = request.META["HTTP_AUTHORIZATION"] response = self.make_request(request.method, url, headers, request.body) return HttpResponse(response.content, status=response.status_code) From 0dee4ebed8b4399b882c5c8ebe67518f9316d37d Mon Sep 17 00:00:00 2001 From: Michael Derynck Date: Thu, 10 Nov 2022 14:54:24 -0700 Subject: [PATCH 2/3] Lint --- engine/apps/user_management/middlewares.py | 1 - 1 file changed, 1 deletion(-) diff --git a/engine/apps/user_management/middlewares.py b/engine/apps/user_management/middlewares.py index 71d54680..79fca43a 100644 --- a/engine/apps/user_management/middlewares.py +++ b/engine/apps/user_management/middlewares.py @@ -1,5 +1,4 @@ import logging -import re import requests from django.http import HttpResponse From 758cf872555363ce62e776c00344b8bc43b2aaeb Mon Sep 17 00:00:00 2001 From: Michael Derynck Date: Thu, 10 Nov 2022 15:09:18 -0700 Subject: [PATCH 3/3] -1 lookup --- engine/apps/user_management/middlewares.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/engine/apps/user_management/middlewares.py b/engine/apps/user_management/middlewares.py index 79fca43a..bf599ec7 100644 --- a/engine/apps/user_management/middlewares.py +++ b/engine/apps/user_management/middlewares.py @@ -21,15 +21,15 @@ class OrganizationMovedMiddleware(MiddlewareMixin): ) url = create_engine_url(request.path, override_base=region.oncall_backend_url) - if request.META.get("QUERY_STRING", None): - url = f"{url}?{request.META['QUERY_STRING']}" + if (v := request.META.get("QUERY_STRING", None)) is not None: + url = f"{url}?{v}" headers = {} - if request.META.get("CONTENT_TYPE", None): - headers["Content-type"] = request.META["CONTENT_TYPE"] + if (v := request.META.get("CONTENT_TYPE", None)) is not None: + headers["Content-type"] = v - if request.META.get("HTTP_AUTHORIZATION", None): - headers["Authorization"] = request.META["HTTP_AUTHORIZATION"] + if (v := request.META.get("HTTP_AUTHORIZATION", None)) is not None: + headers["Authorization"] = v response = self.make_request(request.method, url, headers, request.body) return HttpResponse(response.content, status=response.status_code)