zulip/zerver/webhooks/github_dispatcher.py

15 lines
529 B
Python
Raw Normal View History

from django.http import HttpRequest, HttpResponse
from django.views.decorators.csrf import csrf_exempt
2017-11-16 00:43:10 +01:00
from .github.view import api_github_landing
2017-11-16 00:43:10 +01:00
from .github_webhook.view import api_github_webhook
# Since this dispatcher is an API-style endpoint, it needs to be
# explicitly marked as CSRF-exempt
@csrf_exempt
def api_github_webhook_dispatch(request: HttpRequest) -> HttpResponse:
if request.META.get('HTTP_X_GITHUB_EVENT'):
return api_github_webhook(request)
else:
return api_github_landing(request)