)]}'
{"tacker/api/vnfpkgm/v1/router.py":[{"author":{"_account_id":26588,"name":"Hiroyuki Jo","email":"joxyuki@gmail.com","username":"joxyuki"},"change_message_id":"9de288cd1a74f62949bba766577f63bd5cea1799","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"        controller \u003d vnf_pkgm_controller.create_resource()"},{"line_number":36,"context_line":"        # Allowed methods on /vnf_packages resource"},{"line_number":37,"context_line":"        methods \u003d [\"HEAD\", \"POST\", \"GET\"]"},{"line_number":38,"context_line":"        allowed_methods_str \u003d \",\".join(methods)"},{"line_number":39,"context_line":"        mapper.resource(\"vnf_packages\", \"vnf_packages\","},{"line_number":40,"context_line":"                        controller\u003dcontroller,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_5ae75e47","line":37,"range":{"start_line":37,"start_character":19,"end_line":37,"end_character":40},"updated":"2019-09-03 03:08:54.000000000","message":"missing \"DELETE\"?","commit_id":"2ff626a7bf565766cbbeba2ef2f0b408469b3cc9"},{"author":{"_account_id":26588,"name":"Hiroyuki Jo","email":"joxyuki@gmail.com","username":"joxyuki"},"change_message_id":"9de288cd1a74f62949bba766577f63bd5cea1799","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        # Allowed methods on /vnf_packages resource"},{"line_number":37,"context_line":"        methods \u003d [\"HEAD\", \"POST\", \"GET\"]"},{"line_number":38,"context_line":"        allowed_methods_str \u003d \",\".join(methods)"},{"line_number":39,"context_line":"        mapper.resource(\"vnf_packages\", \"vnf_packages\","},{"line_number":40,"context_line":"                        controller\u003dcontroller,"},{"line_number":41,"context_line":"                        conditions\u003d{\u0027method\u0027: allowed_methods_str})"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_fad72a4e","line":39,"range":{"start_line":39,"start_character":8,"end_line":39,"end_character":23},"updated":"2019-09-03 03:08:54.000000000","message":"according to [1], this enables unnecessary URLs below (but not implemented in this patch).\n\n  GET    /messages/new \n  GET    /messages/1/edit\n\nIMO, we should not enable them.\n\n[1] https://routes.readthedocs.io/en/latest/restful.html","commit_id":"2ff626a7bf565766cbbeba2ef2f0b408469b3cc9"},{"author":{"_account_id":1011,"name":"Tushar Patil","email":"tushar.vitthal.patil@gmail.com","username":"tpatil"},"change_message_id":"3361581fc0852662e0cbf82f0bbb8240a3112583","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        # Allowed methods on /vnf_packages resource"},{"line_number":37,"context_line":"        methods \u003d [\"HEAD\", \"POST\", \"GET\"]"},{"line_number":38,"context_line":"        allowed_methods_str \u003d \",\".join(methods)"},{"line_number":39,"context_line":"        mapper.resource(\"vnf_packages\", \"vnf_packages\","},{"line_number":40,"context_line":"                        controller\u003dcontroller,"},{"line_number":41,"context_line":"                        conditions\u003d{\u0027method\u0027: allowed_methods_str})"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_4698e367","line":39,"range":{"start_line":39,"start_character":8,"end_line":39,"end_character":23},"in_reply_to":"7faddb67_fad72a4e","updated":"2019-09-03 10:18:46.000000000","message":"in above cases, it will raise 404 error.\n\nbecause, we support vnfpkgm/v1/vnf_packages/\u003cpackage uuid\u003e\n\nSo in above case, it will treat new as package uuid.","commit_id":"2ff626a7bf565766cbbeba2ef2f0b408469b3cc9"}],"tacker/common/exceptions.py":[{"author":{"_account_id":26588,"name":"Hiroyuki Jo","email":"joxyuki@gmail.com","username":"joxyuki"},"change_message_id":"ad48aedc71ac372cb12dbf29c4c8ba641fa0ba15","unresolved":false,"context_lines":[{"line_number":61,"context_line":"    code \u003d 500"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    def __init__(self, message\u003dNone, **kwargs):"},{"line_number":64,"context_line":"        if not message:"},{"line_number":65,"context_line":"            try:"},{"line_number":66,"context_line":"                message \u003d self.message % kwargs"},{"line_number":67,"context_line":"            except Exception:"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_ab1c2966","line":64,"range":{"start_line":64,"start_character":8,"end_line":64,"end_character":23},"updated":"2019-09-02 06:23:19.000000000","message":"simple question, why is this `if` statement needed?","commit_id":"2ff626a7bf565766cbbeba2ef2f0b408469b3cc9"},{"author":{"_account_id":1011,"name":"Tushar Patil","email":"tushar.vitthal.patil@gmail.com","username":"tpatil"},"change_message_id":"3361581fc0852662e0cbf82f0bbb8240a3112583","unresolved":false,"context_lines":[{"line_number":61,"context_line":"    code \u003d 500"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    def __init__(self, message\u003dNone, **kwargs):"},{"line_number":64,"context_line":"        if not message:"},{"line_number":65,"context_line":"            try:"},{"line_number":66,"context_line":"                message \u003d self.message % kwargs"},{"line_number":67,"context_line":"            except Exception:"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_46aa2384","line":64,"range":{"start_line":64,"start_character":8,"end_line":64,"end_character":23},"in_reply_to":"7faddb67_ab1c2966","updated":"2019-09-03 10:18:46.000000000","message":"It will not enter in if condition for below exception:-\n    raise Conflict(message\u003d\"Test exception\")\n\nIt will enter in if block if:-\nSay, this is my exception:\nclass PolicyNotAuthorized(Forbidden):\n    message \u003d _(\"Policy doesn\u0027t allow %(action)s to be performed.\")\n\nand caller is raising exception as below:\n\n    PolicyNotAuthorized(action\u003d\"testing\")","commit_id":"2ff626a7bf565766cbbeba2ef2f0b408469b3cc9"},{"author":{"_account_id":18955,"name":"dharmendra","email":"dharmendra.kushwaha@gmail.com","username":"dharmendra"},"change_message_id":"76b7df5167a47ac308885a3622a3bd07d9712106","unresolved":false,"context_lines":[{"line_number":43,"context_line":"            try:"},{"line_number":44,"context_line":"                self.title \u003d woutil.status_reasons[self.code]"},{"line_number":45,"context_line":"            except KeyError:"},{"line_number":46,"context_line":"                msg \u003d _(\"Improper or unknown HTTP status code used: %d\")"},{"line_number":47,"context_line":"                LOG.error(msg, code)"},{"line_number":48,"context_line":"                self.title \u003d woutil.status_generic_reasons[self.code // 100]"},{"line_number":49,"context_line":"        self.explanation \u003d explanation"}],"source_content_type":"text/x-python","patch_set":8,"id":"3fa7e38b_b7270e65","line":46,"range":{"start_line":46,"start_character":67,"end_line":46,"end_character":71},"updated":"2019-09-18 09:14:26.000000000","message":"seems status code is missed here to add","commit_id":"9f9ed9fbc0430f7c4a2535d74a5a8a6dcc65f31e"},{"author":{"_account_id":18955,"name":"dharmendra","email":"dharmendra.kushwaha@gmail.com","username":"dharmendra"},"change_message_id":"7e97226ed1ff0b02fe6e92f77d2b0a223f6d7bc4","unresolved":false,"context_lines":[{"line_number":43,"context_line":"            try:"},{"line_number":44,"context_line":"                self.title \u003d woutil.status_reasons[self.code]"},{"line_number":45,"context_line":"            except KeyError:"},{"line_number":46,"context_line":"                msg \u003d _(\"Improper or unknown HTTP status code used: %d\")"},{"line_number":47,"context_line":"                LOG.error(msg, code)"},{"line_number":48,"context_line":"                self.title \u003d woutil.status_generic_reasons[self.code // 100]"},{"line_number":49,"context_line":"        self.explanation \u003d explanation"}],"source_content_type":"text/x-python","patch_set":8,"id":"3fa7e38b_a45fc93f","line":46,"range":{"start_line":46,"start_character":67,"end_line":46,"end_character":71},"in_reply_to":"3fa7e38b_8f566b29","updated":"2019-09-19 06:10:18.000000000","message":"ok","commit_id":"9f9ed9fbc0430f7c4a2535d74a5a8a6dcc65f31e"},{"author":{"_account_id":1011,"name":"Tushar Patil","email":"tushar.vitthal.patil@gmail.com","username":"tpatil"},"change_message_id":"f9ea10de275c5c835ee9747248db23429c942798","unresolved":false,"context_lines":[{"line_number":43,"context_line":"            try:"},{"line_number":44,"context_line":"                self.title \u003d woutil.status_reasons[self.code]"},{"line_number":45,"context_line":"            except KeyError:"},{"line_number":46,"context_line":"                msg \u003d _(\"Improper or unknown HTTP status code used: %d\")"},{"line_number":47,"context_line":"                LOG.error(msg, code)"},{"line_number":48,"context_line":"                self.title \u003d woutil.status_generic_reasons[self.code // 100]"},{"line_number":49,"context_line":"        self.explanation \u003d explanation"}],"source_content_type":"text/x-python","patch_set":8,"id":"3fa7e38b_8f566b29","line":46,"range":{"start_line":46,"start_character":67,"end_line":46,"end_character":71},"in_reply_to":"3fa7e38b_b7270e65","updated":"2019-09-19 02:58:14.000000000","message":"Confirmed it logs proper error message along with code.\nI had to manipulate self.code to raise KeyError in order to see this error log message.\n\nExample: \n\n 2019-09-19 02:52:10.927 ERROR tacker.common.exceptions [req-97aa727e-1804-49e5-b602-28ef798062e6 admin admin] Improper or unknown HTTP status code used: 5000","commit_id":"9f9ed9fbc0430f7c4a2535d74a5a8a6dcc65f31e"}],"tacker/tests/unit/test_wsgi.py":[{"author":{"_account_id":26588,"name":"Hiroyuki Jo","email":"joxyuki@gmail.com","username":"joxyuki"},"change_message_id":"ad48aedc71ac372cb12dbf29c4c8ba641fa0ba15","unresolved":false,"context_lines":[{"line_number":683,"context_line":"                                    explanation\u003dmy_exception.explanation)"},{"line_number":684,"context_line":"        my_fault \u003d wsgi.Fault(converted_exp)"},{"line_number":685,"context_line":"        req \u003d wsgi.Request.blank(\"/\", method\u003d\u0027POST\u0027,"},{"line_number":686,"context_line":"                                 headers\u003d{\u0027Content-Type\u0027: \"unknow\"})"},{"line_number":687,"context_line":"        response \u003d my_fault(req)"},{"line_number":688,"context_line":"        self.assertEqual(415, response.status_int)"},{"line_number":689,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_5aa44907","line":686,"range":{"start_line":686,"start_character":59,"end_line":686,"end_character":65},"updated":"2019-09-02 06:23:19.000000000","message":"unknown","commit_id":"2ff626a7bf565766cbbeba2ef2f0b408469b3cc9"}],"tacker/wsgi.py":[{"author":{"_account_id":26588,"name":"Hiroyuki Jo","email":"joxyuki@gmail.com","username":"joxyuki"},"change_message_id":"ad48aedc71ac372cb12dbf29c4c8ba641fa0ba15","unresolved":false,"context_lines":[{"line_number":800,"context_line":"            LOG.info(\"HTTP exception thrown: %s\", ex)"},{"line_number":801,"context_line":"            action_result \u003d Fault(ex,"},{"line_number":802,"context_line":"                                  self._fault_body_function)"},{"line_number":803,"context_line":"        except Exception:"},{"line_number":804,"context_line":"            LOG.exception(\"Internal error\")"},{"line_number":805,"context_line":"            # Do not include the traceback to avoid returning it to clients."},{"line_number":806,"context_line":"            action_result \u003d Fault(webob.exc.HTTPServerError(),"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_302def45","side":"PARENT","line":803,"range":{"start_line":803,"start_character":8,"end_line":803,"end_character":25},"updated":"2019-09-02 06:23:19.000000000","message":"Here we catch `Exception` class in base code. Don\u0027t we need to catch `Exception` class in new code too?","commit_id":"452d2a29ebb49819d2a079df0eb05f2ef3105fe7"},{"author":{"_account_id":26588,"name":"Hiroyuki Jo","email":"joxyuki@gmail.com","username":"joxyuki"},"change_message_id":"ad48aedc71ac372cb12dbf29c4c8ba641fa0ba15","unresolved":false,"context_lines":[{"line_number":403,"context_line":"        return \"\""},{"line_number":404,"context_line":""},{"line_number":405,"context_line":""},{"line_number":406,"context_line":"class JSONDictSerializer(ActionDispatcher):"},{"line_number":407,"context_line":"    \"\"\"Default JSON request body serialization.\"\"\""},{"line_number":408,"context_line":""},{"line_number":409,"context_line":"    def serialize(self, data, action\u003d\u0027default\u0027):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_70a7e7a9","line":406,"range":{"start_line":406,"start_character":25,"end_line":406,"end_character":41},"updated":"2019-09-02 06:23:19.000000000","message":"What is your point of this change? It doesn\u0027t seem necessary.","commit_id":"2ff626a7bf565766cbbeba2ef2f0b408469b3cc9"},{"author":{"_account_id":26588,"name":"Hiroyuki Jo","email":"joxyuki@gmail.com","username":"joxyuki"},"change_message_id":"ad48aedc71ac372cb12dbf29c4c8ba641fa0ba15","unresolved":false,"context_lines":[{"line_number":494,"context_line":"    def deserialize(self, body_file, action\u003d\u0027default\u0027):"},{"line_number":495,"context_line":"        return self.dispatch(body_file, action)"},{"line_number":496,"context_line":""},{"line_number":497,"context_line":"    def dispatch(self, body_file, action):"},{"line_number":498,"context_line":"        \"\"\"Find action-specific method on self and call it.\"\"\""},{"line_number":499,"context_line":"        try:"},{"line_number":500,"context_line":"            method \u003d getattr(self, action)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_50e18bcf","line":497,"range":{"start_line":497,"start_character":7,"end_line":497,"end_character":42},"updated":"2019-09-02 06:23:19.000000000","message":"Is this method really needed to override? The functionality of this method looks the same as ActionDispatcher.dispatch.","commit_id":"2ff626a7bf565766cbbeba2ef2f0b408469b3cc9"},{"author":{"_account_id":26588,"name":"Hiroyuki Jo","email":"joxyuki@gmail.com","username":"joxyuki"},"change_message_id":"ad48aedc71ac372cb12dbf29c4c8ba641fa0ba15","unresolved":false,"context_lines":[{"line_number":835,"context_line":"            LOG.info(\"HTTP exception thrown: %s\", ex_value)"},{"line_number":836,"context_line":"            raise Fault(ex_value)"},{"line_number":837,"context_line":""},{"line_number":838,"context_line":"        # We didn\u0027t handle the exception"},{"line_number":839,"context_line":"        return False"},{"line_number":840,"context_line":""},{"line_number":841,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_0bcbfd1d","line":838,"range":{"start_line":838,"start_character":8,"end_line":838,"end_character":40},"updated":"2019-09-02 06:23:19.000000000","message":"why don\u0027t we need to catch `exception`?","commit_id":"2ff626a7bf565766cbbeba2ef2f0b408469b3cc9"},{"author":{"_account_id":1011,"name":"Tushar Patil","email":"tushar.vitthal.patil@gmail.com","username":"tpatil"},"change_message_id":"3f174aeedd31d862b9cc28a315abd32e19113686","unresolved":false,"context_lines":[{"line_number":835,"context_line":"            LOG.info(\"HTTP exception thrown: %s\", ex_value)"},{"line_number":836,"context_line":"            raise Fault(ex_value)"},{"line_number":837,"context_line":""},{"line_number":838,"context_line":"        # We didn\u0027t handle the exception"},{"line_number":839,"context_line":"        return False"},{"line_number":840,"context_line":""},{"line_number":841,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5faad753_97eabd72","line":838,"range":{"start_line":838,"start_character":8,"end_line":838,"end_character":40},"in_reply_to":"5faad753_1074d267","updated":"2019-09-12 08:23:51.000000000","message":"That\u0027s not handled in this patch, You can see how it\u0027s handled in patch [1].\n\n\n[1] : https://review.opendev.org/#/c/675600/10/tacker/wsgi.py","commit_id":"2ff626a7bf565766cbbeba2ef2f0b408469b3cc9"},{"author":{"_account_id":26588,"name":"Hiroyuki Jo","email":"joxyuki@gmail.com","username":"joxyuki"},"change_message_id":"2eeb0ee695e2a65fd80a9fce3451b1bbded0e62e","unresolved":false,"context_lines":[{"line_number":835,"context_line":"            LOG.info(\"HTTP exception thrown: %s\", ex_value)"},{"line_number":836,"context_line":"            raise Fault(ex_value)"},{"line_number":837,"context_line":""},{"line_number":838,"context_line":"        # We didn\u0027t handle the exception"},{"line_number":839,"context_line":"        return False"},{"line_number":840,"context_line":""},{"line_number":841,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5faad753_1074d267","line":838,"range":{"start_line":838,"start_character":8,"end_line":838,"end_character":40},"in_reply_to":"7faddb67_02d38939","updated":"2019-09-10 04:46:05.000000000","message":"Let me know. Line975 catches only Fault class, how others result in 500 error automatically?","commit_id":"2ff626a7bf565766cbbeba2ef2f0b408469b3cc9"},{"author":{"_account_id":1011,"name":"Tushar Patil","email":"tushar.vitthal.patil@gmail.com","username":"tpatil"},"change_message_id":"03ca6fd78affa0ef9b2b46a27150744aee0503d2","unresolved":false,"context_lines":[{"line_number":835,"context_line":"            LOG.info(\"HTTP exception thrown: %s\", ex_value)"},{"line_number":836,"context_line":"            raise Fault(ex_value)"},{"line_number":837,"context_line":""},{"line_number":838,"context_line":"        # We didn\u0027t handle the exception"},{"line_number":839,"context_line":"        return False"},{"line_number":840,"context_line":""},{"line_number":841,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_02d38939","line":838,"range":{"start_line":838,"start_character":8,"end_line":838,"end_character":40},"in_reply_to":"7faddb67_0bcbfd1d","updated":"2019-09-05 07:28:20.000000000","message":"All above exceptions will be raised by the api layer and the remaining ones are unknown thereby resulting in 500 error automatically. Even if you catch the generic exception, you will end up returning 500 error so why handle it.","commit_id":"2ff626a7bf565766cbbeba2ef2f0b408469b3cc9"},{"author":{"_account_id":26588,"name":"Hiroyuki Jo","email":"joxyuki@gmail.com","username":"joxyuki"},"change_message_id":"ad48aedc71ac372cb12dbf29c4c8ba641fa0ba15","unresolved":false,"context_lines":[{"line_number":948,"context_line":"        \"\"\""},{"line_number":949,"context_line":"        self.controller \u003d controller"},{"line_number":950,"context_line":"        self.deserializer \u003d deserializer or RequestDeserializer()"},{"line_number":951,"context_line":"        self.serializer \u003d serializer or ResponseSerializer()"},{"line_number":952,"context_line":""},{"line_number":953,"context_line":"    @webob.dec.wsgify(RequestClass\u003dRequest)"},{"line_number":954,"context_line":"    def __call__(self, request):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_1a6571e1","line":951,"range":{"start_line":951,"start_character":8,"end_line":951,"end_character":60},"updated":"2019-09-02 06:23:19.000000000","message":"can we remove it?","commit_id":"2ff626a7bf565766cbbeba2ef2f0b408469b3cc9"},{"author":{"_account_id":1011,"name":"Tushar Patil","email":"tushar.vitthal.patil@gmail.com","username":"tpatil"},"change_message_id":"3f174aeedd31d862b9cc28a315abd32e19113686","unresolved":false,"context_lines":[{"line_number":948,"context_line":"        \"\"\""},{"line_number":949,"context_line":"        self.controller \u003d controller"},{"line_number":950,"context_line":"        self.deserializer \u003d deserializer or RequestDeserializer()"},{"line_number":951,"context_line":"        self.serializer \u003d serializer or ResponseSerializer()"},{"line_number":952,"context_line":""},{"line_number":953,"context_line":"    @webob.dec.wsgify(RequestClass\u003dRequest)"},{"line_number":954,"context_line":"    def __call__(self, request):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5faad753_57e76513","line":951,"range":{"start_line":951,"start_character":8,"end_line":951,"end_character":60},"in_reply_to":"5faad753_9060c2a7","updated":"2019-09-12 08:23:51.000000000","message":"yes, we can remove it.","commit_id":"2ff626a7bf565766cbbeba2ef2f0b408469b3cc9"},{"author":{"_account_id":1011,"name":"Tushar Patil","email":"tushar.vitthal.patil@gmail.com","username":"tpatil"},"change_message_id":"3361581fc0852662e0cbf82f0bbb8240a3112583","unresolved":false,"context_lines":[{"line_number":948,"context_line":"        \"\"\""},{"line_number":949,"context_line":"        self.controller \u003d controller"},{"line_number":950,"context_line":"        self.deserializer \u003d deserializer or RequestDeserializer()"},{"line_number":951,"context_line":"        self.serializer \u003d serializer or ResponseSerializer()"},{"line_number":952,"context_line":""},{"line_number":953,"context_line":"    @webob.dec.wsgify(RequestClass\u003dRequest)"},{"line_number":954,"context_line":"    def __call__(self, request):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_c6f4d357","line":951,"range":{"start_line":951,"start_character":8,"end_line":951,"end_character":60},"in_reply_to":"7faddb67_1a6571e1","updated":"2019-09-03 10:18:46.000000000","message":"it\u0027s used to serialize the response data.","commit_id":"2ff626a7bf565766cbbeba2ef2f0b408469b3cc9"},{"author":{"_account_id":26588,"name":"Hiroyuki Jo","email":"joxyuki@gmail.com","username":"joxyuki"},"change_message_id":"2eeb0ee695e2a65fd80a9fce3451b1bbded0e62e","unresolved":false,"context_lines":[{"line_number":948,"context_line":"        \"\"\""},{"line_number":949,"context_line":"        self.controller \u003d controller"},{"line_number":950,"context_line":"        self.deserializer \u003d deserializer or RequestDeserializer()"},{"line_number":951,"context_line":"        self.serializer \u003d serializer or ResponseSerializer()"},{"line_number":952,"context_line":""},{"line_number":953,"context_line":"    @webob.dec.wsgify(RequestClass\u003dRequest)"},{"line_number":954,"context_line":"    def __call__(self, request):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5faad753_9060c2a7","line":951,"range":{"start_line":951,"start_character":8,"end_line":951,"end_character":60},"in_reply_to":"7faddb67_c6f4d357","updated":"2019-09-10 04:46:05.000000000","message":"At Line995, response is serialized by ResponseObject.serialize. At least in this class, this variable is not used.","commit_id":"2ff626a7bf565766cbbeba2ef2f0b408469b3cc9"},{"author":{"_account_id":26588,"name":"Hiroyuki Jo","email":"joxyuki@gmail.com","username":"joxyuki"},"change_message_id":"ad48aedc71ac372cb12dbf29c4c8ba641fa0ba15","unresolved":false,"context_lines":[{"line_number":1018,"context_line":"            return Fault(webob.exc.HTTPBadRequest())"},{"line_number":1019,"context_line":""},{"line_number":1020,"context_line":""},{"line_number":1021,"context_line":"def _default_body_function(wrapped_exc):"},{"line_number":1022,"context_line":"    code \u003d wrapped_exc.status_int"},{"line_number":1023,"context_line":"    fault_data \u003d {"},{"line_number":1024,"context_line":"        \u0027Error\u0027: {"},{"line_number":1025,"context_line":"            \u0027code\u0027: code,"},{"line_number":1026,"context_line":"            \u0027message\u0027: wrapped_exc.explanation}}"},{"line_number":1027,"context_line":"    # \u0027code\u0027 is an attribute on the fault tag itself"},{"line_number":1028,"context_line":"    metadata \u003d {\u0027attributes\u0027: {\u0027Error\u0027: \u0027code\u0027}}"},{"line_number":1029,"context_line":"    return fault_data, metadata"},{"line_number":1030,"context_line":""},{"line_number":1031,"context_line":""},{"line_number":1032,"context_line":"class Fault(webob.exc.HTTPException):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_8b5b6d52","line":1029,"range":{"start_line":1021,"start_character":0,"end_line":1029,"end_character":31},"updated":"2019-09-02 06:23:19.000000000","message":"can we remove this function?","commit_id":"2ff626a7bf565766cbbeba2ef2f0b408469b3cc9"},{"author":{"_account_id":1011,"name":"Tushar Patil","email":"tushar.vitthal.patil@gmail.com","username":"tpatil"},"change_message_id":"3361581fc0852662e0cbf82f0bbb8240a3112583","unresolved":false,"context_lines":[{"line_number":1018,"context_line":"            return Fault(webob.exc.HTTPBadRequest())"},{"line_number":1019,"context_line":""},{"line_number":1020,"context_line":""},{"line_number":1021,"context_line":"def _default_body_function(wrapped_exc):"},{"line_number":1022,"context_line":"    code \u003d wrapped_exc.status_int"},{"line_number":1023,"context_line":"    fault_data \u003d {"},{"line_number":1024,"context_line":"        \u0027Error\u0027: {"},{"line_number":1025,"context_line":"            \u0027code\u0027: code,"},{"line_number":1026,"context_line":"            \u0027message\u0027: wrapped_exc.explanation}}"},{"line_number":1027,"context_line":"    # \u0027code\u0027 is an attribute on the fault tag itself"},{"line_number":1028,"context_line":"    metadata \u003d {\u0027attributes\u0027: {\u0027Error\u0027: \u0027code\u0027}}"},{"line_number":1029,"context_line":"    return fault_data, metadata"},{"line_number":1030,"context_line":""},{"line_number":1031,"context_line":""},{"line_number":1032,"context_line":"class Fault(webob.exc.HTTPException):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_86ca5b17","line":1029,"range":{"start_line":1021,"start_character":0,"end_line":1029,"end_character":31},"in_reply_to":"7faddb67_8b5b6d52","updated":"2019-09-03 10:18:46.000000000","message":"I will propose a new patch to remove this method.","commit_id":"2ff626a7bf565766cbbeba2ef2f0b408469b3cc9"},{"author":{"_account_id":26588,"name":"Hiroyuki Jo","email":"joxyuki@gmail.com","username":"joxyuki"},"change_message_id":"2eeb0ee695e2a65fd80a9fce3451b1bbded0e62e","unresolved":false,"context_lines":[{"line_number":1020,"context_line":"class Fault(webob.exc.HTTPException):"},{"line_number":1021,"context_line":"    \"\"\"Wrap webob.exc.HTTPException to provide API friendly response.\"\"\""},{"line_number":1022,"context_line":""},{"line_number":1023,"context_line":"    _fault_names \u003d {"},{"line_number":1024,"context_line":"        400: \"badRequest\","},{"line_number":1025,"context_line":"        401: \"unauthorized\","},{"line_number":1026,"context_line":"        403: \"forbidden\","}],"source_content_type":"text/x-python","patch_set":3,"id":"5faad753_106a92b2","line":1023,"range":{"start_line":1023,"start_character":3,"end_line":1023,"end_character":17},"updated":"2019-09-10 04:46:05.000000000","message":"Don\u0027t we need to add { 500: \"internalServerError\" }?","commit_id":"c85b3ffaa74685b4a213aa44494b0413b56648d6"},{"author":{"_account_id":1011,"name":"Tushar Patil","email":"tushar.vitthal.patil@gmail.com","username":"tpatil"},"change_message_id":"3f174aeedd31d862b9cc28a315abd32e19113686","unresolved":false,"context_lines":[{"line_number":1020,"context_line":"class Fault(webob.exc.HTTPException):"},{"line_number":1021,"context_line":"    \"\"\"Wrap webob.exc.HTTPException to provide API friendly response.\"\"\""},{"line_number":1022,"context_line":""},{"line_number":1023,"context_line":"    _fault_names \u003d {"},{"line_number":1024,"context_line":"        400: \"badRequest\","},{"line_number":1025,"context_line":"        401: \"unauthorized\","},{"line_number":1026,"context_line":"        403: \"forbidden\","}],"source_content_type":"text/x-python","patch_set":3,"id":"5faad753_7709412f","line":1023,"range":{"start_line":1023,"start_character":3,"end_line":1023,"end_character":17},"in_reply_to":"5faad753_106a92b2","updated":"2019-09-12 08:23:51.000000000","message":"Yes, we will add it in the next PS.","commit_id":"c85b3ffaa74685b4a213aa44494b0413b56648d6"},{"author":{"_account_id":1011,"name":"Tushar Patil","email":"tushar.vitthal.patil@gmail.com","username":"tpatil"},"change_message_id":"1519b1f51815f6bfc7d8a3b33a086f2d0c45950e","unresolved":false,"context_lines":[{"line_number":1020,"context_line":"class Fault(webob.exc.HTTPException):"},{"line_number":1021,"context_line":"    \"\"\"Wrap webob.exc.HTTPException to provide API friendly response.\"\"\""},{"line_number":1022,"context_line":""},{"line_number":1023,"context_line":"    _fault_names \u003d {"},{"line_number":1024,"context_line":"        400: \"badRequest\","},{"line_number":1025,"context_line":"        401: \"unauthorized\","},{"line_number":1026,"context_line":"        403: \"forbidden\","}],"source_content_type":"text/x-python","patch_set":3,"id":"5faad753_15c7a466","line":1023,"range":{"start_line":1023,"start_character":3,"end_line":1023,"end_character":17},"in_reply_to":"5faad753_7709412f","updated":"2019-09-12 10:04:56.000000000","message":"I have uploaded a new PS and now the error message will look like below:-\n\nError message: {\"tackerFault\": {\"message\": \"The server has either erred or is incapable of performing the requested operation.\", \"code\": 500}}\n\n\nInstead of InternalServer it will be tackerFault.","commit_id":"c85b3ffaa74685b4a213aa44494b0413b56648d6"},{"author":{"_account_id":26588,"name":"Hiroyuki Jo","email":"joxyuki@gmail.com","username":"joxyuki"},"change_message_id":"fbe0764cfd5030c1665807503ada1cb716ef2ed4","unresolved":false,"context_lines":[{"line_number":1002,"context_line":"        return controller_method(request\u003drequest, **action_args)"},{"line_number":1003,"context_line":""},{"line_number":1004,"context_line":""},{"line_number":1005,"context_line":"def _default_body_function(wrapped_exc):"},{"line_number":1006,"context_line":"    code \u003d wrapped_exc.status_int"},{"line_number":1007,"context_line":"    fault_data \u003d {"},{"line_number":1008,"context_line":"        \u0027Error\u0027: {"}],"source_content_type":"text/x-python","patch_set":7,"id":"5faad753_cf787ec5","line":1005,"range":{"start_line":1005,"start_character":0,"end_line":1005,"end_character":40},"updated":"2019-09-13 08:08:39.000000000","message":"ok, let\u0027s remove this func in another patch.","commit_id":"36fe5117f71fa0ed93b7cd25d4c77a4e1afb02e9"},{"author":{"_account_id":18955,"name":"dharmendra","email":"dharmendra.kushwaha@gmail.com","username":"dharmendra"},"change_message_id":"76b7df5167a47ac308885a3622a3bd07d9712106","unresolved":false,"context_lines":[{"line_number":817,"context_line":"                      exc_info\u003dexc_info)"},{"line_number":818,"context_line":"            raise Fault(webob.exc.HTTPBadRequest())"},{"line_number":819,"context_line":"        elif isinstance(ex_value, Fault):"},{"line_number":820,"context_line":"            LOG.info(\"Fault thrown: %s\", ex_value)"},{"line_number":821,"context_line":"            raise ex_value"},{"line_number":822,"context_line":"        elif isinstance(ex_value, webob.exc.HTTPException):"},{"line_number":823,"context_line":"            LOG.info(\"HTTP exception thrown: %s\", ex_value)"}],"source_content_type":"text/x-python","patch_set":8,"id":"3fa7e38b_f71346b7","line":820,"range":{"start_line":820,"start_character":16,"end_line":820,"end_character":20},"updated":"2019-09-18 09:14:26.000000000","message":"error","commit_id":"9f9ed9fbc0430f7c4a2535d74a5a8a6dcc65f31e"},{"author":{"_account_id":18955,"name":"dharmendra","email":"dharmendra.kushwaha@gmail.com","username":"dharmendra"},"change_message_id":"76b7df5167a47ac308885a3622a3bd07d9712106","unresolved":false,"context_lines":[{"line_number":820,"context_line":"            LOG.info(\"Fault thrown: %s\", ex_value)"},{"line_number":821,"context_line":"            raise ex_value"},{"line_number":822,"context_line":"        elif isinstance(ex_value, webob.exc.HTTPException):"},{"line_number":823,"context_line":"            LOG.info(\"HTTP exception thrown: %s\", ex_value)"},{"line_number":824,"context_line":"            raise Fault(ex_value)"},{"line_number":825,"context_line":""},{"line_number":826,"context_line":"        # We didn\u0027t handle the exception"}],"source_content_type":"text/x-python","patch_set":8,"id":"3fa7e38b_9724520f","line":823,"range":{"start_line":823,"start_character":16,"end_line":823,"end_character":20},"updated":"2019-09-18 09:14:26.000000000","message":"error","commit_id":"9f9ed9fbc0430f7c4a2535d74a5a8a6dcc65f31e"}]}
