)]}'
{"quantum/api/v2/resource.py":[{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"605d6ed1be58ede3f919d7e1099f33faafc6d747","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        except NotImplementedError as e:"},{"line_number":98,"context_line":"            # NOTE(armando-migliaccio): from a client standpoint"},{"line_number":99,"context_line":"            # it makes sense to receive these errors, because"},{"line_number":100,"context_line":"            # extensions may or may not be implemented by"},{"line_number":101,"context_line":"            # the underlying plugin. So if something goes south,"},{"line_number":102,"context_line":"            # because a plugin does not implement a feature,"},{"line_number":103,"context_line":"            # returning 500 is definitely confusing."}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPn%2F%2FWnY%3D","line":100,"updated":"2013-07-03 13:51:50.000000000","message":"what do u mean by extension \u0027may or may not be implemented\u0027?, if it is not implemented, the URL will not be there.","commit_id":"6ab8dd80f6c11e1e2def99bdba62b5cf706bf47e"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"unresolved":false,"context_lines":[{"line_number":98,"context_line":"            # NOTE(armando-migliaccio): from a client standpoint"},{"line_number":99,"context_line":"            # it makes sense to receive these errors, because"},{"line_number":100,"context_line":"            # extensions may or may not be implemented by"},{"line_number":101,"context_line":"            # the underlying plugin. So if something goes south,"},{"line_number":102,"context_line":"            # because a plugin does not implement a feature,"},{"line_number":103,"context_line":"            # returning 500 is definitely confusing."},{"line_number":104,"context_line":"            body \u003d serializer.serialize("}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPn%2F%2FW1c%3D","line":101,"updated":"2013-07-03 12:51:10.000000000","message":"Am I the only one who had to look up a dictionary to understand the above idiom?","commit_id":"6ab8dd80f6c11e1e2def99bdba62b5cf706bf47e"},{"author":{"_account_id":105,"name":"Kyle Mestery","email":"mestery@mestery.com","username":"mestery"},"unresolved":false,"context_lines":[{"line_number":98,"context_line":"            # NOTE(armando-migliaccio): from a client standpoint"},{"line_number":99,"context_line":"            # it makes sense to receive these errors, because"},{"line_number":100,"context_line":"            # extensions may or may not be implemented by"},{"line_number":101,"context_line":"            # the underlying plugin. So if something goes south,"},{"line_number":102,"context_line":"            # because a plugin does not implement a feature,"},{"line_number":103,"context_line":"            # returning 500 is definitely confusing."},{"line_number":104,"context_line":"            body \u003d serializer.serialize("}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPn%2F%2FWvY%3D","line":101,"in_reply_to":"AAAAPn%2F%2FW1c%3D","updated":"2013-07-03 13:21:49.000000000","message":"Heh, I think so Salvatore, though learning new idioms through code review is quite valuable.","commit_id":"6ab8dd80f6c11e1e2def99bdba62b5cf706bf47e"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"605d6ed1be58ede3f919d7e1099f33faafc6d747","unresolved":false,"context_lines":[{"line_number":104,"context_line":"            body \u003d serializer.serialize("},{"line_number":105,"context_line":"                {\u0027NotImplementedError\u0027: e.message})"},{"line_number":106,"context_line":"            kwargs \u003d {\u0027body\u0027: body, \u0027content_type\u0027: content_type}"},{"line_number":107,"context_line":"            raise webob.exc.HTTPNotImplemented(**kwargs)"},{"line_number":108,"context_line":"        except Exception as e:"},{"line_number":109,"context_line":"            # NOTE(jkoelker) Everyting else is 500"},{"line_number":110,"context_line":"            LOG.exception(_(\u0027%s failed\u0027), action)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPn%2F%2FXDw%3D","line":107,"updated":"2013-07-03 10:26:31.000000000","message":"I think it is related to the security. In fact we may not choose to expose this.","commit_id":"6ab8dd80f6c11e1e2def99bdba62b5cf706bf47e"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"unresolved":false,"context_lines":[{"line_number":104,"context_line":"            body \u003d serializer.serialize("},{"line_number":105,"context_line":"                {\u0027NotImplementedError\u0027: e.message})"},{"line_number":106,"context_line":"            kwargs \u003d {\u0027body\u0027: body, \u0027content_type\u0027: content_type}"},{"line_number":107,"context_line":"            raise webob.exc.HTTPNotImplemented(**kwargs)"},{"line_number":108,"context_line":"        except Exception as e:"},{"line_number":109,"context_line":"            # NOTE(jkoelker) Everyting else is 500"},{"line_number":110,"context_line":"            LOG.exception(_(\u0027%s failed\u0027), action)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPn%2F%2FWyE%3D","line":107,"in_reply_to":"AAAAPn%2F%2FXDw%3D","updated":"2013-07-03 13:21:00.000000000","message":"What security concern are we leaking by changing the response code from 500 to 501?","commit_id":"6ab8dd80f6c11e1e2def99bdba62b5cf706bf47e"}]}
