diff options
Diffstat (limited to 'postgresqleu/util/views.py')
-rw-r--r-- | postgresqleu/util/views.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/postgresqleu/util/views.py b/postgresqleu/util/views.py new file mode 100644 index 00000000..521fc331 --- /dev/null +++ b/postgresqleu/util/views.py @@ -0,0 +1,19 @@ +from django.views.decorators.csrf import csrf_exempt +from django.shortcuts import get_object_or_404 + +from postgresqleu.confreg.models import MessagingProvider +from postgresqleu.util.messaging import get_messaging +from postgresqleu.util.messaging.twitter import process_twitter_webhook + + +@csrf_exempt +def messaging_webhook(request, providerid, token): + provider = get_object_or_404(MessagingProvider, id=providerid, config__webhook__token=token) + impl = get_messaging(provider) + return impl.process_webhook(request) + + +# Twitter needs a special webhook URL since it's global and not per provider +@csrf_exempt +def twitter_webhook(request): + return process_twitter_webhook(request) |