)]}'
{"keystone/server/flask/request_processing/json_body.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"d5f915069d1743e0159be90aa89dbffbe0f30830","unresolved":false,"context_lines":[{"line_number":48,"context_line":"                    _(\u0027resulting JSON load was not a dict\u0027))"},{"line_number":49,"context_line":"        else:"},{"line_number":50,"context_line":"            # We no longer need enforcement on this API, set unenforced_ok"},{"line_number":51,"context_line":"            # we already hit a validation error."},{"line_number":52,"context_line":"            ks_flask_common.set_unenforced_ok()"},{"line_number":53,"context_line":"            raise exception.ValidationError(attribute\u003d\u0027application/json\u0027,"},{"line_number":54,"context_line":"                                            target\u003d\u0027Content-Type header\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_d39cb95c","line":51,"updated":"2018-10-11 19:58:40.000000000","message":"Why do we need to set enforcement here?","commit_id":"ec2860ebc60ab87c7b68f58e1f9cf365daed2d8f"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"3936e3ca9958b7ec90ab04ffbdbbb39eb5c6ee63","unresolved":false,"context_lines":[{"line_number":48,"context_line":"                    _(\u0027resulting JSON load was not a dict\u0027))"},{"line_number":49,"context_line":"        else:"},{"line_number":50,"context_line":"            # We no longer need enforcement on this API, set unenforced_ok"},{"line_number":51,"context_line":"            # we already hit a validation error."},{"line_number":52,"context_line":"            ks_flask_common.set_unenforced_ok()"},{"line_number":53,"context_line":"            raise exception.ValidationError(attribute\u003d\u0027application/json\u0027,"},{"line_number":54,"context_line":"                                            target\u003d\u0027Content-Type header\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_d6f267e3","line":51,"in_reply_to":"3f79a3b5_d39cb95c","updated":"2018-10-11 20:45:14.000000000","message":"Because we don\u0027t ever even touch the underlying resource methods. With a handled exception, we would trigger the \"assert enforcement called\" because we never called enforcement. This circumvents this. I can expand the comment.\n\n(Commit message communicates this better than the comment does)","commit_id":"ec2860ebc60ab87c7b68f58e1f9cf365daed2d8f"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"65acfd5b2886f161572332ef47b493d4a706c22c","unresolved":false,"context_lines":[{"line_number":48,"context_line":"                    _(\u0027resulting JSON load was not a dict\u0027))"},{"line_number":49,"context_line":"        else:"},{"line_number":50,"context_line":"            # We no longer need enforcement on this API, set unenforced_ok"},{"line_number":51,"context_line":"            # we already hit a validation error."},{"line_number":52,"context_line":"            ks_flask_common.set_unenforced_ok()"},{"line_number":53,"context_line":"            raise exception.ValidationError(attribute\u003d\u0027application/json\u0027,"},{"line_number":54,"context_line":"                                            target\u003d\u0027Content-Type header\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_fea72a08","line":51,"in_reply_to":"3f79a3b5_d6f267e3","updated":"2018-10-12 13:49:57.000000000","message":"Aha - thanks for the clarification.","commit_id":"ec2860ebc60ab87c7b68f58e1f9cf365daed2d8f"}]}
