summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/middleware.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/core/middleware.py b/core/middleware.py
index 274f672..de35c4c 100644
--- a/core/middleware.py
+++ b/core/middleware.py
@@ -6,6 +6,25 @@ from core import sentry
from core.models import Config
+class AcceptMiddleware:
+ """
+ Detects any Accept headers signifying a fellow AP server is trying to get JSON.
+ """
+
+ def __init__(self, get_response):
+ self.get_response = get_response
+
+ def __call__(self, request):
+ accept = request.headers.get("accept", "text/html").lower()
+ request.ap_json = (
+ "application/json" in accept
+ or "application/ld" in accept
+ or "application/activity" in accept
+ )
+ response = self.get_response(request)
+ return response
+
+
class ConfigLoadingMiddleware:
"""
Caches the system config every request