)]}'
{"keystonemiddleware/auth_token.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"e2aa9b10b79b1aa331e73307c3c61ab86506a0ea","unresolved":false,"context_lines":[{"line_number":1171,"context_line":"            self._LOG.warn(\u0027Identity response: %s\u0027 % e.response.text)"},{"line_number":1172,"context_line":"            if retry:"},{"line_number":1173,"context_line":"                self._LOG.info(\u0027Retrying validation\u0027)"},{"line_number":1174,"context_line":"                return self.verify_token(user_token, False)"},{"line_number":1175,"context_line":"        except exceptions.HttpError as e:"},{"line_number":1176,"context_line":"            self._LOG.error(\u0027Bad response code while validating token: %s\u0027,"},{"line_number":1177,"context_line":"                            e.http_status)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ac7a964_8f9f295f","side":"PARENT","line":1174,"updated":"2014-08-14 15:46:39.000000000","message":"i don\u0027t see how this is superfluous if it\u0027s providing retry support for a specific failure condition","commit_id":"c9036a00ef3f7c4b9475799d5b713db7a2d94961"},{"author":{"_account_id":11589,"name":"Harry Rybacki","email":"hrybacki@redhat.com","username":"hrybacki"},"change_message_id":"96d4ddef1906f60f75027e9f5c8e95e3e59be45a","unresolved":false,"context_lines":[{"line_number":1171,"context_line":"            self._LOG.warn(\u0027Identity response: %s\u0027 % e.response.text)"},{"line_number":1172,"context_line":"            if retry:"},{"line_number":1173,"context_line":"                self._LOG.info(\u0027Retrying validation\u0027)"},{"line_number":1174,"context_line":"                return self.verify_token(user_token, False)"},{"line_number":1175,"context_line":"        except exceptions.HttpError as e:"},{"line_number":1176,"context_line":"            self._LOG.error(\u0027Bad response code while validating token: %s\u0027,"},{"line_number":1177,"context_line":"                            e.http_status)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ac7a964_a83775e2","side":"PARENT","line":1174,"in_reply_to":"7ac7a964_862c6bad","updated":"2014-08-14 19:23:31.000000000","message":"s/_http_pretty()/_http_request()","commit_id":"c9036a00ef3f7c4b9475799d5b713db7a2d94961"},{"author":{"_account_id":11589,"name":"Harry Rybacki","email":"hrybacki@redhat.com","username":"hrybacki"},"change_message_id":"dfc195a1bcc16c1adffc5e40ac0f62b57c072e2f","unresolved":false,"context_lines":[{"line_number":1171,"context_line":"            self._LOG.warn(\u0027Identity response: %s\u0027 % e.response.text)"},{"line_number":1172,"context_line":"            if retry:"},{"line_number":1173,"context_line":"                self._LOG.info(\u0027Retrying validation\u0027)"},{"line_number":1174,"context_line":"                return self.verify_token(user_token, False)"},{"line_number":1175,"context_line":"        except exceptions.HttpError as e:"},{"line_number":1176,"context_line":"            self._LOG.error(\u0027Bad response code while validating token: %s\u0027,"},{"line_number":1177,"context_line":"                            e.http_status)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ac7a964_862c6bad","side":"PARENT","line":1174,"in_reply_to":"7ac7a964_8f9f295f","updated":"2014-08-14 19:20:49.000000000","message":"The retry is actually taken care of in _http_pretty(). This exception will never be raised. I mocked it up -- and the 401 it\u0027s supposed to be catching is actually being caught by the HTTPError directly below it.","commit_id":"c9036a00ef3f7c4b9475799d5b713db7a2d94961"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"e2aa9b10b79b1aa331e73307c3c61ab86506a0ea","unresolved":false,"context_lines":[{"line_number":1134,"context_line":"        :param user_token: user\u0027s token id"},{"line_number":1135,"context_line":"        :param retry: flag that forces the middleware to retry"},{"line_number":1136,"context_line":"                      user authentication when an indeterminate"},{"line_number":1137,"context_line":"                      response is received. Optional."},{"line_number":1138,"context_line":"        :return: token object received from keystone on success"},{"line_number":1139,"context_line":"        :raise InvalidUserToken: if token is rejected"},{"line_number":1140,"context_line":"        :raise ServiceError: if unable to authenticate token"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ac7a964_efa6ddc0","line":1137,"updated":"2014-08-14 15:46:39.000000000","message":"you\u0027ve removed support for retrying on 401\u0027s","commit_id":"3c2cc50612465cf58f7e6a79803e7ec9aba0cffb"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"f3434ed1d2484cb710475692dc5dd73f628442c1","unresolved":false,"context_lines":[{"line_number":1134,"context_line":"        :param user_token: user\u0027s token id"},{"line_number":1135,"context_line":"        :param retry: flag that forces the middleware to retry"},{"line_number":1136,"context_line":"                      user authentication when an indeterminate"},{"line_number":1137,"context_line":"                      response is received. Optional."},{"line_number":1138,"context_line":"        :return: token object received from keystone on success"},{"line_number":1139,"context_line":"        :raise InvalidUserToken: if token is rejected"},{"line_number":1140,"context_line":"        :raise ServiceError: if unable to authenticate token"}],"source_content_type":"text/x-python","patch_set":1,"id":"da9df570_b6ea240d","line":1137,"in_reply_to":"7ac7a964_680f1d31","updated":"2014-09-24 19:15:40.000000000","message":"How is retry passed to _http_request? retry isn\u0027t even referenced in this method anymore.","commit_id":"3c2cc50612465cf58f7e6a79803e7ec9aba0cffb"},{"author":{"_account_id":11589,"name":"Harry Rybacki","email":"hrybacki@redhat.com","username":"hrybacki"},"change_message_id":"96d4ddef1906f60f75027e9f5c8e95e3e59be45a","unresolved":false,"context_lines":[{"line_number":1134,"context_line":"        :param user_token: user\u0027s token id"},{"line_number":1135,"context_line":"        :param retry: flag that forces the middleware to retry"},{"line_number":1136,"context_line":"                      user authentication when an indeterminate"},{"line_number":1137,"context_line":"                      response is received. Optional."},{"line_number":1138,"context_line":"        :return: token object received from keystone on success"},{"line_number":1139,"context_line":"        :raise InvalidUserToken: if token is rejected"},{"line_number":1140,"context_line":"        :raise ServiceError: if unable to authenticate token"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ac7a964_680f1d31","line":1137,"in_reply_to":"7ac7a964_efa6ddc0","updated":"2014-08-14 19:23:31.000000000","message":"The retry is passed through to _http_request() and used there","commit_id":"3c2cc50612465cf58f7e6a79803e7ec9aba0cffb"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"dc7f9b78439ec2bad087899bb2abbc8783c4b030","unresolved":false,"context_lines":[{"line_number":1158,"context_line":"            path \u003d \u0027/v2.0/tokens/%s\u0027 % user_token"},{"line_number":1159,"context_line":""},{"line_number":1160,"context_line":"        try:"},{"line_number":1161,"context_line":"            response, data \u003d self._json_request("},{"line_number":1162,"context_line":"                \u0027GET\u0027,"},{"line_number":1163,"context_line":"                path,"},{"line_number":1164,"context_line":"                authenticated\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":1,"id":"baa201ad_e2b42bf4","line":1161,"updated":"2014-09-30 14:07:24.000000000","message":"i think this actually might be true... as i understand it, _json_request will call _http_request which has its own retry (based on CONF). this removes the additional verify_token check.\n\nthat said, we need to do a better job clearing up the \u0027retry\u0027 params that are unused.","commit_id":"3c2cc50612465cf58f7e6a79803e7ec9aba0cffb"}]}
