aboutsummaryrefslogtreecommitdiffstats
path: root/pysite
diff options
context:
space:
mode:
Diffstat (limited to 'pysite')
-rw-r--r--pysite/permissions.py8
-rw-r--r--pysite/settings.py11
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')