diff --git a/src/pretix/api/middleware.py b/src/pretix/api/middleware.py index 9e18c121c..b69beab19 100644 --- a/src/pretix/api/middleware.py +++ b/src/pretix/api/middleware.py @@ -20,6 +20,7 @@ # . # import json +import logging from hashlib import sha1 from django.conf import settings @@ -35,6 +36,9 @@ from pretix.base.models import Organizer from pretix.helpers import OF_SELF +logger = logging.getLogger(__name__) + + class IdempotencyMiddleware: def __init__(self, get_response): self.get_response = get_response @@ -97,6 +101,9 @@ class IdempotencyMiddleware: return resp else: if call.locked: + logger.info( + f'Concurrent request with idempotency key {idempotency_key} blocked.' + ) r = JsonResponse( {'detail': 'Concurrent request with idempotency key.'}, status=status.HTTP_409_CONFLICT, @@ -111,6 +118,7 @@ class IdempotencyMiddleware: content=content, status=call.response_code, ) + logger.info(f'API response replayed from idempotency store for key {idempotency_key} [{call.response_code}]') for k, v in json.loads(call.response_headers).values(): r[k] = v return r