diff --git a/apps/common/middleware/doc_headers_middleware.py b/apps/common/middleware/doc_headers_middleware.py
index d818b842c..83419b19f 100644
--- a/apps/common/middleware/doc_headers_middleware.py
+++ b/apps/common/middleware/doc_headers_middleware.py
@@ -9,43 +9,102 @@
from django.http import HttpResponse
from django.utils.deprecation import MiddlewareMixin
+from common.auth import handles, TokenDetails
+
content = """
-
+
Document
-
-
+
+
+
+
+
+
+
+
+
"""
@@ -54,9 +113,18 @@ content = """
class DocHeadersMiddleware(MiddlewareMixin):
def process_response(self, request, response):
if request.path.startswith('/doc/') or request.path.startswith('/doc/chat/'):
- HTTP_REFERER = request.META.get('HTTP_REFERER')
- if HTTP_REFERER is None:
+ auth = request.COOKIES.get('Authorization')
+ if auth is None:
return HttpResponse(content)
- if HTTP_REFERER == request._current_scheme_host + request.path:
- return response
+ else:
+ try:
+ token = auth
+ token_details = TokenDetails(token)
+ for handle in handles:
+ if handle.support(request, token, token_details.get_token_details):
+ handle.handle(request, token, token_details.get_token_details)
+ return response
+ return HttpResponse(content)
+ except Exception as e:
+ return HttpResponse(content)
return response