summaryrefslogtreecommitdiffstats
path: root/nova/api
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2012-01-31 23:54:46 +0000
committerGerrit Code Review <review@openstack.org>2012-01-31 23:54:46 +0000
commit79746bbe5281f950ffd46310867c90423ee286b3 (patch)
treed254a8b8971b1c002185e211c95e04032f7bcbd1 /nova/api
parente1b3010dd91df2d8dda69d2322c98e1575fb3fd7 (diff)
parent0f0b224f6d14a2679d5c0f298b01dead82be7bde (diff)
downloadnova-79746bbe5281f950ffd46310867c90423ee286b3.tar.gz
nova-79746bbe5281f950ffd46310867c90423ee286b3.tar.xz
nova-79746bbe5281f950ffd46310867c90423ee286b3.zip
Merge "Allow for auditing of API calls."
Diffstat (limited to 'nova/api')
-rw-r--r--nova/api/openstack/wsgi.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/nova/api/openstack/wsgi.py b/nova/api/openstack/wsgi.py
index 50f693f49..af62f9b28 100644
--- a/nova/api/openstack/wsgi.py
+++ b/nova/api/openstack/wsgi.py
@@ -777,6 +777,18 @@ class Resource(wsgi.Application):
content_type, body = self.get_body(request)
accept = request.best_match_content_type()
+ # NOTE(Vek): Splitting the function up this way allows for
+ # auditing by external tools that wrap the existing
+ # function. If we try to audit __call__(), we can
+ # run into troubles due to the @webob.dec.wsgify()
+ # decorator.
+ return self._process_stack(request, action, action_args,
+ content_type, body, accept)
+
+ def _process_stack(self, request, action, action_args,
+ content_type, body, accept):
+ """Implement the processing stack."""
+
# Get the implementing method
try:
meth, extensions = self.get_method(request, action,