)]}'
{"keystone/server/flask/common.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"3c97e417c44a853453999d94f3302f8f554fb630","unresolved":false,"context_lines":[{"line_number":142,"context_line":"    # Remove content-type if the resp is 204."},{"line_number":143,"context_line":"    if resp.status_code \u003d\u003d http_client.NO_CONTENT:"},{"line_number":144,"context_line":"        resp.headers.pop(\u0027content-type\u0027, None)"},{"line_number":145,"context_line":"    return resp"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"@six.add_metaclass(abc.ABCMeta)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_c254ea58","line":145,"updated":"2018-07-17 15:23:21.000000000","message":"Do we need another method like this to take care of the response body?","commit_id":"dbc6899c38f972193fc16feb9d6543f27678cbe0"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"7df6d5eac11503a7712c6f965dba09667885048b","unresolved":false,"context_lines":[{"line_number":142,"context_line":"    # Remove content-type if the resp is 204."},{"line_number":143,"context_line":"    if resp.status_code \u003d\u003d http_client.NO_CONTENT:"},{"line_number":144,"context_line":"        resp.headers.pop(\u0027content-type\u0027, None)"},{"line_number":145,"context_line":"    return resp"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"@six.add_metaclass(abc.ABCMeta)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_c8c96924","line":145,"in_reply_to":"5f7c97a3_c254ea58","updated":"2018-07-17 16:33:10.000000000","message":"We can add one. We might want to add an assert one that ensures no content has no body rather than stripping the body. The content-type is a mismatch between flask-restful and our tests. my goal is for all conversions we do not change any tests.","commit_id":"dbc6899c38f972193fc16feb9d6543f27678cbe0"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"78c3935c22ad2b2bef840f25c87d67476a216950","unresolved":false,"context_lines":[{"line_number":410,"context_line":"        # register global after request functions"},{"line_number":411,"context_line":"        # e.g. self.__blueprint.after_request(function)"},{"line_number":412,"context_line":"        self.__blueprint.after_request(_assert_rbac_enforcement_called)"},{"line_number":413,"context_line":"        self.__blueprint.after_request(_remove_content_type_on_204)"},{"line_number":414,"context_line":""},{"line_number":415,"context_line":"        # Add Passed-In Functions"},{"line_number":416,"context_line":"        for f in functions:"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_2c728c13","line":413,"updated":"2018-07-16 19:33:51.000000000","message":"Huh - that\u0027s slick... \n\nDon\u0027t certain web servers handle this for us though?","commit_id":"dbc6899c38f972193fc16feb9d6543f27678cbe0"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"f78cf34026b645780b8d9c8d19a4a0a9a53fafd1","unresolved":false,"context_lines":[{"line_number":410,"context_line":"        # register global after request functions"},{"line_number":411,"context_line":"        # e.g. self.__blueprint.after_request(function)"},{"line_number":412,"context_line":"        self.__blueprint.after_request(_assert_rbac_enforcement_called)"},{"line_number":413,"context_line":"        self.__blueprint.after_request(_remove_content_type_on_204)"},{"line_number":414,"context_line":""},{"line_number":415,"context_line":"        # Add Passed-In Functions"},{"line_number":416,"context_line":"        for f in functions:"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_e7fa6f0f","line":413,"in_reply_to":"5f7c97a3_2c728c13","updated":"2018-07-16 19:48:40.000000000","message":"Some do, our tests are very particular and we should \"do the right thing\".","commit_id":"dbc6899c38f972193fc16feb9d6543f27678cbe0"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"790d6bfe3ae1c7309769054df2b7f2a0acb7885f","unresolved":false,"context_lines":[{"line_number":410,"context_line":"        # register global after request functions"},{"line_number":411,"context_line":"        # e.g. self.__blueprint.after_request(function)"},{"line_number":412,"context_line":"        self.__blueprint.after_request(_assert_rbac_enforcement_called)"},{"line_number":413,"context_line":"        self.__blueprint.after_request(_remove_content_type_on_204)"},{"line_number":414,"context_line":""},{"line_number":415,"context_line":"        # Add Passed-In Functions"},{"line_number":416,"context_line":"        for f in functions:"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_c25881fa","line":413,"in_reply_to":"5f7c97a3_e7fa6f0f","updated":"2018-07-16 20:48:45.000000000","message":"++ completely agree, the after_request utility worked out nicely here","commit_id":"dbc6899c38f972193fc16feb9d6543f27678cbe0"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"3c97e417c44a853453999d94f3302f8f554fb630","unresolved":false,"context_lines":[{"line_number":593,"context_line":"        return refs"},{"line_number":594,"context_line":""},{"line_number":595,"context_line":"    @property"},{"line_number":596,"context_line":"    def oslo_context(self):"},{"line_number":597,"context_line":"        return flask.request.environ.get(context.REQUEST_CONTEXT_ENV, None)"},{"line_number":598,"context_line":""},{"line_number":599,"context_line":"    @staticmethod"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_421a1ac7","line":596,"range":{"start_line":596,"start_character":8,"end_line":596,"end_character":12},"updated":"2018-07-17 15:23:21.000000000","message":"Does this have to be oslo specific? This an instance of the keystone.common.context.RequestContext, yeah?","commit_id":"dbc6899c38f972193fc16feb9d6543f27678cbe0"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"3c97e417c44a853453999d94f3302f8f554fb630","unresolved":false,"context_lines":[{"line_number":688,"context_line":"        return {cls._normalize_arg(k): v for (k, v) in d.items()}"},{"line_number":689,"context_line":""},{"line_number":690,"context_line":"    @staticmethod"},{"line_number":691,"context_line":"    def _normalize_arg(arg):"},{"line_number":692,"context_line":"        return arg.replace(\u0027:\u0027, \u0027_\u0027).replace(\u0027-\u0027, \u0027_\u0027)"},{"line_number":693,"context_line":""},{"line_number":694,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_4248dab2","line":691,"updated":"2018-07-17 15:23:21.000000000","message":"Are these methods used in a subsequent patch?","commit_id":"dbc6899c38f972193fc16feb9d6543f27678cbe0"}]}
