diff options
Diffstat (limited to 'pysite')
-rw-r--r-- | pysite/permissions.py | 8 | ||||
-rw-r--r-- | pysite/settings.py | 11 |
2 files changed, 19 insertions, 0 deletions
diff --git a/pysite/permissions.py b/pysite/permissions.py new file mode 100644 index 00000000..2a96b819 --- /dev/null +++ b/pysite/permissions.py @@ -0,0 +1,8 @@ +from django.conf import setting +from rest_framework import permissions + + +class HasValidAPIKey(permissions.BasePermission): + def has_permission(self, request, view): + api_key = request.META.get('HTTP_X_API_KEY') + return api_key == settings.BOT_API_KEY diff --git a/pysite/settings.py b/pysite/settings.py index cf89bb40..247a27a9 100644 --- a/pysite/settings.py +++ b/pysite/settings.py @@ -159,3 +159,14 @@ if DEBUG: PARENT_HOST = 'pythondiscord.local:8000' else: PARENT_HOST = 'pythondiscord.com' + +# Django REST framework +# http://www.django-rest-framework.org +REST_FRAMEWORK = { + 'DEFAULT_PERMISSION_CLASSES': [ + 'pysite.permissions.HasValidAPIKey' + ] +} + +# Bot API settings +BOT_API_KEY = env('BOT_API_KEY') |