summaryrefslogtreecommitdiffstats
path: root/keystone
diff options
context:
space:
mode:
authorJoe Heck <heckj@mac.com>2012-01-29 10:57:02 -0800
committerJoe Heck <heckj@mac.com>2012-01-29 13:14:14 -0800
commite643f239816bae29e8206407db3d5eabdd2ea4b0 (patch)
treee61c4d611129b7aab96808628c1179dc2de6d45c /keystone
parent6b38e3ceb62515f1d28078d2f36b72548023521c (diff)
doc updates
Diffstat (limited to 'keystone')
-rw-r--r--keystone/cli.py2
-rw-r--r--keystone/middleware/core.py38
2 files changed, 39 insertions, 1 deletions
diff --git a/keystone/cli.py b/keystone/cli.py
index 0469ab3a..93e36205 100644
--- a/keystone/cli.py
+++ b/keystone/cli.py
@@ -24,7 +24,7 @@ config.register_cli_str('endpoint',
config.register_cli_str('auth-token',
default='$admin_token',
#group='ks',
- help='asdasd',
+ help='authorization token',
conf=CONF)
config.register_cli_bool('id-only',
default=False,
diff --git a/keystone/middleware/core.py b/keystone/middleware/core.py
index 389c9bf0..305a7d44 100644
--- a/keystone/middleware/core.py
+++ b/keystone/middleware/core.py
@@ -1,6 +1,7 @@
# vim: tabstop=4 shiftwidth=4 softtabstop=4
import json
+import webob
from keystone import config
from keystone.common import wsgi
@@ -98,3 +99,40 @@ class JsonBodyMiddleware(wsgi.Middleware):
params[k] = v
request.environ[PARAMS_ENV] = params
+
+
+class Debug(wsgi.Middleware):
+ """
+ Middleware that produces stream debugging traces to the console (stdout)
+ for HTTP requests and responses flowing through it.
+ """
+
+ @webob.dec.wsgify
+ def __call__(self, req):
+ print ("*" * 40) + " REQUEST ENVIRON"
+ for key, value in req.environ.items():
+ print key, "=", value
+ print
+ resp = req.get_response(self.application)
+
+ print ("*" * 40) + " RESPONSE HEADERS"
+ for (key, value) in resp.headers.iteritems():
+ print key, "=", value
+ print
+
+ resp.app_iter = self.print_generator(resp.app_iter)
+
+ return resp
+
+ @staticmethod
+ def print_generator(app_iter):
+ """
+ Iterator that prints the contents of a wrapper string iterator
+ when iterated.
+ """
+ print ("*" * 40) + " BODY"
+ for part in app_iter:
+ sys.stdout.write(part)
+ sys.stdout.flush()
+ yield part
+ print