)]}'
{"keystonemiddleware/auth_token/__init__.py":[{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"8b780a845dab08aadda06e4e408d303be8d9adac","unresolved":false,"context_lines":[{"line_number":560,"context_line":""},{"line_number":561,"context_line":"        if not request.valid:"},{"line_number":562,"context_line":"            if self._delay_auth_decision:"},{"line_number":563,"context_line":"                self._LOG.info(_LI(\"Deferring reject downstream\"))"},{"line_number":564,"context_line":"            else:"},{"line_number":565,"context_line":"                self._LOG.info(_LI(\"Rejecting Request\"))"},{"line_number":566,"context_line":"                self._reject_request()"}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_c62f17a0","line":563,"updated":"2015-06-02 14:55:59.000000000","message":"Why change to double quotes?","commit_id":"245841c44f6bc26900e5715c54773fdcf86a9e24"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"8b780a845dab08aadda06e4e408d303be8d9adac","unresolved":false,"context_lines":[{"line_number":562,"context_line":"            if self._delay_auth_decision:"},{"line_number":563,"context_line":"                self._LOG.info(_LI(\"Deferring reject downstream\"))"},{"line_number":564,"context_line":"            else:"},{"line_number":565,"context_line":"                self._LOG.info(_LI(\"Rejecting Request\"))"},{"line_number":566,"context_line":"                self._reject_request()"},{"line_number":567,"context_line":""},{"line_number":568,"context_line":"        if self._LOG.isEnabledFor(logging.DEBUG):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_8618ff85","line":565,"updated":"2015-06-02 14:55:59.000000000","message":"or here.","commit_id":"245841c44f6bc26900e5715c54773fdcf86a9e24"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"8b780a845dab08aadda06e4e408d303be8d9adac","unresolved":false,"context_lines":[{"line_number":566,"context_line":"                self._reject_request()"},{"line_number":567,"context_line":""},{"line_number":568,"context_line":"        if self._LOG.isEnabledFor(logging.DEBUG):"},{"line_number":569,"context_line":"            self._LOG.debug(\u0027Received request from %s\u0027 %"},{"line_number":570,"context_line":"                            request.environ[\u0027keystone.token_auth\u0027]._log_format)"},{"line_number":571,"context_line":""},{"line_number":572,"context_line":"    def process_response(self, response):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_a6553b1e","line":569,"updated":"2015-06-02 14:55:59.000000000","message":"remove the % operator and use a , instead","commit_id":"245841c44f6bc26900e5715c54773fdcf86a9e24"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"30f840abae364847962d3ecbb61d078f4334d6f4","unresolved":false,"context_lines":[{"line_number":454,"context_line":"        if request.user_token:"},{"line_number":455,"context_line":"            self.log.debug(\u0027Authenticating user token\u0027)"},{"line_number":456,"context_line":"            try:"},{"line_number":457,"context_line":"                user_auth_ref \u003d self._validate_token(request.user_token,"},{"line_number":458,"context_line":"                                                     request)"},{"line_number":459,"context_line":"            except exc.InvalidToken:"},{"line_number":460,"context_line":"                self.log.info(_LI(\u0027Invalid user token\u0027))"}],"source_content_type":"text/x-python","patch_set":12,"id":"ba3cc151_d1fcaa40","line":457,"updated":"2015-06-29 19:40:36.000000000","message":"This class needs to document that the child class needs to implement _validate_token and also how _validate_token is expected to operate.","commit_id":"07b1c76b0c4f9ab4e7d9e252d72d190e47ba26c1"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"30f840abae364847962d3ecbb61d078f4334d6f4","unresolved":false,"context_lines":[{"line_number":461,"context_line":"                request.user_token_valid \u003d False"},{"line_number":462,"context_line":"            else:"},{"line_number":463,"context_line":"                request.set_user_headers(user_auth_ref,"},{"line_number":464,"context_line":"                                         self._include_service_catalog)"},{"line_number":465,"context_line":""},{"line_number":466,"context_line":"        if request.service_token:"},{"line_number":467,"context_line":"            self.log.debug(\u0027Authenticating service token\u0027)"}],"source_content_type":"text/x-python","patch_set":12,"id":"ba3cc151_3175d6ca","line":464,"updated":"2015-06-29 19:40:36.000000000","message":"need to document _include_service_catalog... probably should be passed into init instead.","commit_id":"07b1c76b0c4f9ab4e7d9e252d72d190e47ba26c1"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"30f840abae364847962d3ecbb61d078f4334d6f4","unresolved":false,"context_lines":[{"line_number":562,"context_line":""},{"line_number":563,"context_line":"        if not request.user_token:"},{"line_number":564,"context_line":"            # if no user token is present then that\u0027s an invalid request"},{"line_number":565,"context_line":"            request.user_token_valid \u003d False"},{"line_number":566,"context_line":""},{"line_number":567,"context_line":"        if not request.valid:"},{"line_number":568,"context_line":"            if self._delay_auth_decision:"}],"source_content_type":"text/x-python","patch_set":12,"id":"ba3cc151_c31aa16e","line":565,"updated":"2015-06-29 19:40:36.000000000","message":"why wasn\u0027t this done in super impl?","commit_id":"07b1c76b0c4f9ab4e7d9e252d72d190e47ba26c1"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"30f840abae364847962d3ecbb61d078f4334d6f4","unresolved":false,"context_lines":[{"line_number":568,"context_line":"            if self._delay_auth_decision:"},{"line_number":569,"context_line":"                self.log.info(_LI(\u0027Deferring reject downstream\u0027))"},{"line_number":570,"context_line":"            else:"},{"line_number":571,"context_line":"                self.log.info(_LI(\u0027Rejecting Request\u0027))"},{"line_number":572,"context_line":"                self._reject_request()"},{"line_number":573,"context_line":""},{"line_number":574,"context_line":"        if self.log.isEnabledFor(logging.DEBUG):"}],"source_content_type":"text/x-python","patch_set":12,"id":"ba3cc151_632635bc","line":571,"updated":"2015-06-29 19:40:36.000000000","message":"lowercase request","commit_id":"07b1c76b0c4f9ab4e7d9e252d72d190e47ba26c1"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"30f840abae364847962d3ecbb61d078f4334d6f4","unresolved":false,"context_lines":[{"line_number":571,"context_line":"                self.log.info(_LI(\u0027Rejecting Request\u0027))"},{"line_number":572,"context_line":"                self._reject_request()"},{"line_number":573,"context_line":""},{"line_number":574,"context_line":"        if self.log.isEnabledFor(logging.DEBUG):"},{"line_number":575,"context_line":"            self.log.debug(\u0027Received request from %s\u0027,"},{"line_number":576,"context_line":"                           request.environ[\u0027keystone.token_auth\u0027]._log_format)"},{"line_number":577,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"ba3cc151_03ade9e8","line":574,"updated":"2015-06-29 19:40:36.000000000","message":"(unrelated) shouldn\u0027t this have been done earlier?","commit_id":"07b1c76b0c4f9ab4e7d9e252d72d190e47ba26c1"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"30f840abae364847962d3ecbb61d078f4334d6f4","unresolved":false,"context_lines":[{"line_number":573,"context_line":""},{"line_number":574,"context_line":"        if self.log.isEnabledFor(logging.DEBUG):"},{"line_number":575,"context_line":"            self.log.debug(\u0027Received request from %s\u0027,"},{"line_number":576,"context_line":"                           request.environ[\u0027keystone.token_auth\u0027]._log_format)"},{"line_number":577,"context_line":""},{"line_number":578,"context_line":"    def process_response(self, response):"},{"line_number":579,"context_line":"        \"\"\"Process Response."}],"source_content_type":"text/x-python","patch_set":12,"id":"ba3cc151_033f29b5","line":576,"updated":"2015-06-29 19:40:36.000000000","message":"request.environ[\u0027keystone.token_auth\u0027] might not have been set.\n\n(unrelated) Also, shouldn\u0027t be using a private member.","commit_id":"07b1c76b0c4f9ab4e7d9e252d72d190e47ba26c1"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"30f840abae364847962d3ecbb61d078f4334d6f4","unresolved":false,"context_lines":[{"line_number":712,"context_line":"            self.log.warning(_LW(\u0027Authorization failed for token\u0027))"},{"line_number":713,"context_line":"            raise exc.InvalidToken(_(\u0027Token authorization failed\u0027))"},{"line_number":714,"context_line":"        except exc.ServiceError as e:"},{"line_number":715,"context_line":"            self.log.critical(_LC(\u0027Unable to obtain admin token: %s\u0027), e)"},{"line_number":716,"context_line":"            raise webob.exc.HTTPServiceUnavailable()"},{"line_number":717,"context_line":"        except Exception:"},{"line_number":718,"context_line":"            self.log.debug(\u0027Token validation failure.\u0027, exc_info\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":12,"id":"ba3cc151_e3c48593","line":715,"updated":"2015-06-29 19:40:36.000000000","message":"what\u0027s an admin token? This should be \"service\" token. This change seems unrelated so should be in a separate commit.","commit_id":"07b1c76b0c4f9ab4e7d9e252d72d190e47ba26c1"}],"keystonemiddleware/auth_token/_request.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"30f840abae364847962d3ecbb61d078f4334d6f4","unresolved":false,"context_lines":[{"line_number":138,"context_line":""},{"line_number":139,"context_line":"        :rtype: bool"},{"line_number":140,"context_line":"        \"\"\""},{"line_number":141,"context_line":"        serv \u003d self.headers.get(self._SERVICE_STATUS_HEADER, self._CONFIRMED)"},{"line_number":142,"context_line":"        return self.user_token_valid and serv \u003d\u003d self._CONFIRMED"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"    def _set_auth_headers(self, auth_ref, prefix):"}],"source_content_type":"text/x-python","patch_set":12,"id":"ba3cc151_43b9b1e8","line":141,"updated":"2015-06-29 19:40:36.000000000","message":"this is scary because we assume it\u0027s confirmed. Could we have a status for not present, initialize self._SERVICE_STATUS_HEADER to that, and require a value?","commit_id":"07b1c76b0c4f9ab4e7d9e252d72d190e47ba26c1"},{"author":{"_account_id":13055,"name":"Alexander Makarov","email":"ajiekcahdp.makapob@gmail.com","username":"amakarov"},"change_message_id":"1c1a28537268ed08cc11e7b444a512f058620b59","unresolved":false,"context_lines":[{"line_number":174,"context_line":"        elif auth_ref.version \u003d\u003d \u0027v3\u0027:"},{"line_number":175,"context_line":"            token_info \u003d {\u0027token\u0027: auth_ref}"},{"line_number":176,"context_line":"        else:"},{"line_number":177,"context_line":"            token_info \u003d None"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"        self.environ[\u0027keystone.token_info\u0027] \u003d token_info"},{"line_number":180,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"ba3cc151_c24e22c1","line":177,"updated":"2015-06-29 17:29:18.000000000","message":"Is this case not a fault? May be raise an exception here?","commit_id":"07b1c76b0c4f9ab4e7d9e252d72d190e47ba26c1"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"30f840abae364847962d3ecbb61d078f4334d6f4","unresolved":false,"context_lines":[{"line_number":174,"context_line":"        elif auth_ref.version \u003d\u003d \u0027v3\u0027:"},{"line_number":175,"context_line":"            token_info \u003d {\u0027token\u0027: auth_ref}"},{"line_number":176,"context_line":"        else:"},{"line_number":177,"context_line":"            token_info \u003d None"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"        self.environ[\u0027keystone.token_info\u0027] \u003d token_info"},{"line_number":180,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"ba3cc151_a3767d3c","line":177,"in_reply_to":"ba3cc151_c24e22c1","updated":"2015-06-29 19:40:36.000000000","message":"I\u0027m fine with this either way. A separate patch could be proposed to clean this up.","commit_id":"07b1c76b0c4f9ab4e7d9e252d72d190e47ba26c1"}],"keystonemiddleware/tests/unit/auth_token/test_request.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"30f840abae364847962d3ecbb61d078f4334d6f4","unresolved":false,"context_lines":[{"line_number":59,"context_line":"        self.request.headers[\u0027X-Auth-Token\u0027] \u003d user_token"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        self.request.user_token_valid \u003d False"},{"line_number":62,"context_line":"        self.assertFalse(self.request.valid)"},{"line_number":63,"context_line":"        self.request.user_token_valid \u003d True"},{"line_number":64,"context_line":"        self.assertTrue(self.request.valid)"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"ba3cc151_63b635de","line":62,"updated":"2015-06-29 19:40:36.000000000","message":"I\u0027d rather there were separate tests that verified each situation explicitly. It\u0027s important we get this right.","commit_id":"07b1c76b0c4f9ab4e7d9e252d72d190e47ba26c1"}]}
