)]}'
{"trove/common/extensions.py":[{"author":{"_account_id":9782,"name":"Morgan Jones","email":"morgan@tesora.com","username":"vgnbkr"},"change_message_id":"0f061013a50b57dc6b600b38521f2fcf88cdea84","unresolved":false,"context_lines":[{"line_number":545,"context_line":"            mapper.resource(resource_ext.collection,"},{"line_number":546,"context_line":"                            resource_ext.collection, **kargs)"},{"line_number":547,"context_line":""},{"line_number":548,"context_line":"            mapper.connect((\"/%s/{id}\" % resource_ext.collection),"},{"line_number":549,"context_line":"                           controller\u003dcontroller_resource,"},{"line_number":550,"context_line":"                           action\u003d\u0027edit\u0027,"},{"line_number":551,"context_line":"                           conditions\u003d{\u0027method\u0027: [\u0027PATCH\u0027]})"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_4e720d13","line":548,"updated":"2015-06-22 15:42:14.000000000","message":"This seems like a hack.  Please explain why this resource is handled differently that the other resources.","commit_id":"3d94ed98878e3ed4c88646cad81a20dad5646d4a"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"56439ae033dc292e688c89f13f523df837679ee0","unresolved":false,"context_lines":[{"line_number":545,"context_line":"            mapper.resource(resource_ext.collection,"},{"line_number":546,"context_line":"                            resource_ext.collection, **kargs)"},{"line_number":547,"context_line":""},{"line_number":548,"context_line":"            mapper.connect((\"/%s/{id}\" % resource_ext.collection),"},{"line_number":549,"context_line":"                           controller\u003dcontroller_resource,"},{"line_number":550,"context_line":"                           action\u003d\u0027edit\u0027,"},{"line_number":551,"context_line":"                           conditions\u003d{\u0027method\u0027: [\u0027PATCH\u0027]})"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_23952586","line":548,"in_reply_to":"fa32b979_31adac88","updated":"2015-06-26 06:26:20.000000000","message":"Morgan, I like how all the routes are added in the common api explicitly, but with extension resource it \"magically\" creates all the routes for you (even ones that you don\u0027t care about). One that it does not create is PATCH automatically. Instead it creates some goofy GET .../edit url that goes against modern REST principles.\n\nThis leads to a bigger discussion of redoing the way we make extension routes for another day.","commit_id":"3d94ed98878e3ed4c88646cad81a20dad5646d4a"},{"author":{"_account_id":9782,"name":"Morgan Jones","email":"morgan@tesora.com","username":"vgnbkr"},"change_message_id":"ef07c0071e733112ce61780a0b89960ac622a0d9","unresolved":false,"context_lines":[{"line_number":545,"context_line":"            mapper.resource(resource_ext.collection,"},{"line_number":546,"context_line":"                            resource_ext.collection, **kargs)"},{"line_number":547,"context_line":""},{"line_number":548,"context_line":"            mapper.connect((\"/%s/{id}\" % resource_ext.collection),"},{"line_number":549,"context_line":"                           controller\u003dcontroller_resource,"},{"line_number":550,"context_line":"                           action\u003d\u0027edit\u0027,"},{"line_number":551,"context_line":"                           conditions\u003d{\u0027method\u0027: [\u0027PATCH\u0027]})"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_54f6a98f","line":548,"in_reply_to":"fa32b979_31adac88","updated":"2015-06-24 18:12:35.000000000","message":"Right, that\u0027s how it\u0027s done there.  Note that you also see POST, GET, etc there.  You don\u0027t see those here.","commit_id":"3d94ed98878e3ed4c88646cad81a20dad5646d4a"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"3b16f8dd6a5cebd4ea1a6c35f59de0e6650215d2","unresolved":false,"context_lines":[{"line_number":545,"context_line":"            mapper.resource(resource_ext.collection,"},{"line_number":546,"context_line":"                            resource_ext.collection, **kargs)"},{"line_number":547,"context_line":""},{"line_number":548,"context_line":"            mapper.connect((\"/%s/{id}\" % resource_ext.collection),"},{"line_number":549,"context_line":"                           controller\u003dcontroller_resource,"},{"line_number":550,"context_line":"                           action\u003d\u0027edit\u0027,"},{"line_number":551,"context_line":"                           conditions\u003d{\u0027method\u0027: [\u0027PATCH\u0027]})"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_31adac88","line":548,"in_reply_to":"fa32b979_4e720d13","updated":"2015-06-22 15:54:53.000000000","message":"This is not a hack.\n\nWhenever the PATCH method has been added to any registered URLs it has been done like that only.\n\nOne can refer https://github.com/openstack/trove/blob/master/trove/common/api.py","commit_id":"3d94ed98878e3ed4c88646cad81a20dad5646d4a"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"12ff4deec483ee8b4c8324cb14d8767f5f1eca81","unresolved":false,"context_lines":[{"line_number":545,"context_line":"            mapper.resource(resource_ext.collection,"},{"line_number":546,"context_line":"                            resource_ext.collection, **kargs)"},{"line_number":547,"context_line":""},{"line_number":548,"context_line":"            mapper.connect((\"/%s/{id}\" % resource_ext.collection),"},{"line_number":549,"context_line":"                           controller\u003dcontroller_resource,"},{"line_number":550,"context_line":"                           action\u003d\u0027edit\u0027,"},{"line_number":551,"context_line":"                           conditions\u003d{\u0027method\u0027: [\u0027PATCH\u0027]})"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_14526135","line":548,"in_reply_to":"fa32b979_54f6a98f","updated":"2015-06-24 18:23:32.000000000","message":"mapper.resource binds other methods, but the problem is mapper.resource also binds \u0027edit\u0027 action to GET method, this is why PATCH/edit combination does not works.\n\nso to add that an explicit mapper.connect is needed.","commit_id":"3d94ed98878e3ed4c88646cad81a20dad5646d4a"}]}
