)]}'
{"quantum/agent/metadata/agent.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"1fcabd497dc1e965d9f72a5ea870d3676d85f44e","unresolved":false,"context_lines":[{"line_number":76,"context_line":"            auth_url\u003dself.conf.auth_url,"},{"line_number":77,"context_line":"            auth_strategy\u003dself.conf.auth_strategy,"},{"line_number":78,"context_line":"            region_name\u003dself.conf.auth_region,"},{"line_number":79,"context_line":"            auth_token\u003dself.auth_info.get(\u0027auth_token\u0027),"},{"line_number":80,"context_line":"            endpoint_url\u003dself.auth_info.get(\u0027endpoint_url\u0027),"},{"line_number":81,"context_line":"        )"},{"line_number":82,"context_line":"        return qclient"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2F9A0%3D","line":79,"updated":"2013-04-10 13:05:37.000000000","message":"What happens when the request is done with a token that has expired?","commit_id":"2b040513d0981abf8dc0120b78ec1f7afb6d0fdf"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"dfb0d4f8ab4507780226fa8872618b3a7a4d6c1e","unresolved":false,"context_lines":[{"line_number":76,"context_line":"            auth_url\u003dself.conf.auth_url,"},{"line_number":77,"context_line":"            auth_strategy\u003dself.conf.auth_strategy,"},{"line_number":78,"context_line":"            region_name\u003dself.conf.auth_region,"},{"line_number":79,"context_line":"            auth_token\u003dself.auth_info.get(\u0027auth_token\u0027),"},{"line_number":80,"context_line":"            endpoint_url\u003dself.auth_info.get(\u0027endpoint_url\u0027),"},{"line_number":81,"context_line":"        )"},{"line_number":82,"context_line":"        return qclient"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2F88A%3D","line":79,"in_reply_to":"AAAAOn%2F%2F9A0%3D","updated":"2013-04-10 13:52:58.000000000","message":"In that case the client will try to re-authenticate. Here is code from python-quantumclient:\n\n        # Perform the request once. If we get a 401 back then it\n        # might be because the auth token expired, so try to\n        # re-authenticate and try again. If it still fails, bail.\n        try:\n            kwargs.setdefault(\u0027headers\u0027, {})\n            kwargs[\u0027headers\u0027][\u0027X-Auth-Token\u0027] \u003d self.auth_token\n            resp, body \u003d self._cs_request(self.endpoint_url + url, method,\n                                          **kwargs)\n            return resp, body\n        except exceptions.Unauthorized:\n            self.authenticate()\n            kwargs.setdefault(\u0027headers\u0027, {})\n            kwargs[\u0027headers\u0027][\u0027X-Auth-Token\u0027] \u003d self.auth_token\n            resp, body \u003d self._cs_request(\n                self.endpoint_url + url, method, **kwargs)\n            return resp, body","commit_id":"2b040513d0981abf8dc0120b78ec1f7afb6d0fdf"}]}
