summaryrefslogtreecommitdiff
path: root/designate/api/middleware.py
diff options
context:
space:
mode:
Diffstat (limited to 'designate/api/middleware.py')
-rw-r--r--designate/api/middleware.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/designate/api/middleware.py b/designate/api/middleware.py
index 4b9c7e8e..b888746e 100644
--- a/designate/api/middleware.py
+++ b/designate/api/middleware.py
@@ -89,6 +89,14 @@ class ContextMiddleware(base.Middleware):
)
@staticmethod
+ def _extract_hard_delete(ctxt, request):
+ ctxt.hard_delete = False
+ if request.headers.get('X-Designate-Hard-Delete'):
+ ctxt.hard_delete = strutils.bool_from_string(
+ request.headers.get('X-Designate-Hard-Delete')
+ )
+
+ @staticmethod
def _extract_client_addr(ctxt, request):
if hasattr(request, 'client_addr'):
ctxt.client_addr = request.client_addr
@@ -103,6 +111,7 @@ class ContextMiddleware(base.Middleware):
self._extract_sudo(ctxt, request)
self._extract_all_projects(ctxt, request)
self._extract_edit_managed_records(ctxt, request)
+ self._extract_hard_delete(ctxt, request)
self._extract_dns_hide_counts(ctxt, request)
self._extract_client_addr(ctxt, request)
finally: