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 b888746e..9451b842 100644
--- a/designate/api/middleware.py
+++ b/designate/api/middleware.py
@@ -101,6 +101,14 @@ class ContextMiddleware(base.Middleware):
if hasattr(request, 'client_addr'):
ctxt.client_addr = request.client_addr
+ @staticmethod
+ def _extract_delete_shares(ctxt, request):
+ ctxt.delete_shares = False
+ if request.headers.get('X-Designate-Delete-Shares'):
+ ctxt.delete_shares = strutils.bool_from_string(
+ request.headers.get('X-Designate-Delete-Shares')
+ )
+
def make_context(self, request, *args, **kwargs):
req_id = request.environ.get(request_id.ENV_REQUEST_ID)
kwargs.setdefault('request_id', req_id)
@@ -114,6 +122,7 @@ class ContextMiddleware(base.Middleware):
self._extract_hard_delete(ctxt, request)
self._extract_dns_hide_counts(ctxt, request)
self._extract_client_addr(ctxt, request)
+ self._extract_delete_shares(ctxt, request)
finally:
request.environ['context'] = ctxt
return ctxt