mirror of
https://github.com/pacnpal/django-anymail.git
synced 2025-12-20 11:51:05 -05:00
Actually handling the correct headers
This commit is contained in:
@@ -67,7 +67,7 @@ class DjrillWebhookSignatureMixinTests(TestCase):
|
|||||||
def test_signature(self):
|
def test_signature(self):
|
||||||
signature = hmac.new(key=b(settings.DJRILL_WEBHOOK_SIGNATURE_KEY), msg = b(settings.DJRILL_WEBHOOK_URL+"mandrill_events[]"), digestmod=hashlib.sha1)
|
signature = hmac.new(key=b(settings.DJRILL_WEBHOOK_SIGNATURE_KEY), msg = b(settings.DJRILL_WEBHOOK_URL+"mandrill_events[]"), digestmod=hashlib.sha1)
|
||||||
hash_string = b64encode(signature.digest())
|
hash_string = b64encode(signature.digest())
|
||||||
response = self.client.post('/webhook/?secret=abc123', data={"mandrill_events":"[]"}, **{"X-Mandrill-Signature" : hash_string})
|
response = self.client.post('/webhook/?secret=abc123', data={"mandrill_events":"[]"}, **{"HTTP_X_MANDRILL_SIGNATURE" : hash_string})
|
||||||
self.assertEqual(response.status_code, 200)
|
self.assertEqual(response.status_code, 200)
|
||||||
|
|
||||||
def tearDown(self):
|
def tearDown(self):
|
||||||
|
|||||||
@@ -118,7 +118,7 @@ class DjrillWebhookSignatureMixin(object):
|
|||||||
raise ImproperlyConfigured(
|
raise ImproperlyConfigured(
|
||||||
"You have set DJRILL_WEBHOOK_SIGNATURE_KEY, but haven't set DJRILL_WEBHOOK_URL in the settings file.")
|
"You have set DJRILL_WEBHOOK_SIGNATURE_KEY, but haven't set DJRILL_WEBHOOK_URL in the settings file.")
|
||||||
|
|
||||||
signature = request.META.get("X-Mandrill-Signature", None)
|
signature = request.META.get("HTTP_X_MANDRILL_SIGNATURE", None)
|
||||||
if not signature:
|
if not signature:
|
||||||
return HttpResponse(status=403, content="X-Mandrill-Signature not set")
|
return HttpResponse(status=403, content="X-Mandrill-Signature not set")
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user