)]}'
{"keystone/middleware/auth_token.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"27cc64883beda300906d20bb220933d3f7ae89ed","unresolved":false,"context_lines":[{"line_number":378,"context_line":"            #TODO(ziad): use a more sophisticated proxy"},{"line_number":379,"context_line":"            # we are rewriting the headers now"},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"            if resp.status in (401, 305):"},{"line_number":382,"context_line":"                # Add our own headers to the list"},{"line_number":383,"context_line":"                headers \u003d [(\"WWW_AUTHENTICATE\","},{"line_number":384,"context_line":"                   \"Keystone uri\u003d\u0027%s\u0027\" % self.auth_location)]"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAACn%2F%2F8nM%3D","line":381,"updated":"2011-11-23 20:07:55.000000000","message":"\u003d)","commit_id":"1ff7ca8f2f38ef75f2149d485e66c5e47b33f392"}],"keystone/middleware/quantum_auth_token.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"27cc64883beda300906d20bb220933d3f7ae89ed","unresolved":false,"context_lines":[{"line_number":191,"context_line":"                    self._decorate_request(\u0027X_AUTHORIZATION\u0027, \"Proxy %s\" %"},{"line_number":192,"context_line":"                        claims[\u0027user\u0027])"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"                    self._decorate_request(\u0027X_TENANT_ID\u0027,"},{"line_number":196,"context_line":"                                        claims[\u0027tenant\u0027][\u0027id\u0027],)"},{"line_number":197,"context_line":"                    self._decorate_request(\u0027X_TENANT_NAME\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAACn%2F%2F8m8%3D","line":194,"updated":"2011-11-23 20:07:55.000000000","message":"All this middleware really needs to inherit from some base middleware :)","commit_id":"1ff7ca8f2f38ef75f2149d485e66c5e47b33f392"},{"author":{"_account_id":5,"name":"Ziad Sawalha","email":"ziad.sawalha@rackspace.com","username":"ziad-sawalha"},"change_message_id":"0d450ce8b0ee50ce77716126cbc2df528d7f2b0d","unresolved":false,"context_lines":[{"line_number":191,"context_line":"                    self._decorate_request(\u0027X_AUTHORIZATION\u0027, \"Proxy %s\" %"},{"line_number":192,"context_line":"                        claims[\u0027user\u0027])"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"                    self._decorate_request(\u0027X_TENANT_ID\u0027,"},{"line_number":196,"context_line":"                                        claims[\u0027tenant\u0027][\u0027id\u0027],)"},{"line_number":197,"context_line":"                    self._decorate_request(\u0027X_TENANT_NAME\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAACn%2F%2F8ig%3D","line":194,"in_reply_to":"AAAACn%2F%2F8m8%3D","updated":"2011-11-24 01:13:11.000000000","message":"I agree.","commit_id":"1ff7ca8f2f38ef75f2149d485e66c5e47b33f392"}],"keystone/test/functional/common.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"27cc64883beda300906d20bb220933d3f7ae89ed","unresolved":false,"context_lines":[{"line_number":1013,"context_line":""},{"line_number":1014,"context_line":"class HeaderApp(object):"},{"line_number":1015,"context_line":"    \"\"\""},{"line_number":1016,"context_line":"    Dummy WSGI app the returns HTTP headers in the body"},{"line_number":1017,"context_line":""},{"line_number":1018,"context_line":"    This is useful for making sure the headers we want"},{"line_number":1019,"context_line":"    aer being passwed down to the downstream WSGI app."}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAACn%2F%2F8nI%3D","line":1016,"updated":"2011-11-23 20:07:55.000000000","message":"Nice","commit_id":"1ff7ca8f2f38ef75f2149d485e66c5e47b33f392"},{"author":{"_account_id":5,"name":"Ziad Sawalha","email":"ziad.sawalha@rackspace.com","username":"ziad-sawalha"},"change_message_id":"0d450ce8b0ee50ce77716126cbc2df528d7f2b0d","unresolved":false,"context_lines":[{"line_number":1013,"context_line":""},{"line_number":1014,"context_line":"class HeaderApp(object):"},{"line_number":1015,"context_line":"    \"\"\""},{"line_number":1016,"context_line":"    Dummy WSGI app the returns HTTP headers in the body"},{"line_number":1017,"context_line":""},{"line_number":1018,"context_line":"    This is useful for making sure the headers we want"},{"line_number":1019,"context_line":"    aer being passwed down to the downstream WSGI app."}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAACn%2F%2F8ic%3D","line":1016,"in_reply_to":"AAAACn%2F%2F8nI%3D","updated":"2011-11-24 01:13:11.000000000","message":"Thanks","commit_id":"1ff7ca8f2f38ef75f2149d485e66c5e47b33f392"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"27cc64883beda300906d20bb220933d3f7ae89ed","unresolved":false,"context_lines":[{"line_number":1122,"context_line":""},{"line_number":1123,"context_line":"        headers \u003d resp.body.split(\u0027\\n\u0027)"},{"line_number":1124,"context_line":""},{"line_number":1125,"context_line":"        header \u003d \"HTTP_X_IDENTITY_STATUS: Confirmed\""},{"line_number":1126,"context_line":"        self.assertTrue(header in headers, \"Missing %s\" % header)"},{"line_number":1127,"context_line":""},{"line_number":1128,"context_line":"        header \u003d \"HTTP_X_USER_ID: %s\" % self.user[\u0027id\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAACn%2F%2F8nE%3D","line":1125,"updated":"2011-11-23 20:07:55.000000000","message":"Interesting... this should actually look like \"X-IDENTITY-STATUS\" to the underlying service, per CGI spec.","commit_id":"1ff7ca8f2f38ef75f2149d485e66c5e47b33f392"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"27cc64883beda300906d20bb220933d3f7ae89ed","unresolved":false,"context_lines":[{"line_number":1142,"context_line":"        self.assertTrue(header in headers, \"Missing %s\" % header)"},{"line_number":1143,"context_line":""},{"line_number":1144,"context_line":"        header \u003d \"HTTP_X_USER: %s\" % self.user[\u0027id\u0027]"},{"line_number":1145,"context_line":"        self.assertTrue(header in headers, \"Missing %s\" % header)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAACn%2F%2F8nA%3D","line":1145,"updated":"2011-11-23 20:07:55.000000000","message":"No X-ROLES?","commit_id":"1ff7ca8f2f38ef75f2149d485e66c5e47b33f392"}]}
