Add middleware to catch exception for missing integration, reduce spamminess of logs

This commit is contained in:
Michael Derynck 2022-10-13 17:18:22 -06:00
parent 80abd8b8e5
commit 5f5f427c9f
2 changed files with 15 additions and 0 deletions

View file

@ -0,0 +1,14 @@
import logging
from django.core.exceptions import PermissionDenied
from django.http import HttpResponse
from django.utils.deprecation import MiddlewareMixin
from rest_framework import status
logger = logging.getLogger(__name__)
class IntegrationExceptionMiddleware(MiddlewareMixin):
def process_exception(self, request, exception):
if request.path.startswith("/integrations/v1") and isinstance(exception, PermissionDenied):
return HttpResponse(exception, status=status.HTTP_403_FORBIDDEN)

View file

@ -244,6 +244,7 @@ MIDDLEWARE = [
"django.middleware.clickjacking.XFrameOptionsMiddleware",
"social_django.middleware.SocialAuthExceptionMiddleware",
"apps.social_auth.middlewares.SocialAuthAuthCanceledExceptionMiddleware",
"apps.integrations.middlewares.IntegrationExceptionMiddleware",
]
LOG_REQUEST_ID_HEADER = "HTTP_X_CLOUD_TRACE_CONTEXT"