)]}'
{"guidelines/http.rst":[{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"1e24e411478019ace6b25ffb986a8293e544f424","unresolved":false,"context_lines":[{"line_number":65,"context_line":"* When choosing how to update a resource, **PUT** and **PATCH** imply different"},{"line_number":66,"context_line":"  semantics. **PUT** requires sending the entire updated resource, while"},{"line_number":67,"context_line":"  **PATCH** accepts partial representation."},{"line_number":68,"context_line":"  `RFC5789\u003chttps://tools.ietf.org/html/rfc5789\u003e`_ does not specify a partial"},{"line_number":69,"context_line":"  representation format, so implementers must specify their own. Accepting"},{"line_number":70,"context_line":"  missing resource fields as unchanged is valid behavior for **PATCH**, or it"},{"line_number":71,"context_line":"  is possible to send a list of operations (delete prop X, add prop Y, etc) to"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a016987_4a587e32","line":68,"updated":"2015-05-18 15:43:10.000000000","message":"Please use :rfc:`5789` instead. It\u0027s a role that Sphinx understands well and will render properly.","commit_id":"276950e32a6e6bec5ba26e5ddb556cc68a341be2"},{"author":{"_account_id":12321,"name":"Ryan Brown","email":"rybrown@redhat.com","username":"ryansb"},"change_message_id":"9bd373a34417a8baac49c75b7cefdca58090b18c","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"* When choosing how to update a resource, **PUT** and **PATCH** imply different"},{"line_number":66,"context_line":"  semantics. **PUT** requires sending the entire updated resource, while"},{"line_number":67,"context_line":"  **PATCH** accepts partial representation. :rfc:`5789` does not specify a"},{"line_number":68,"context_line":"  partial representation format. JSON-patch in :rfc:`6902` specifies a way to"},{"line_number":69,"context_line":"  send a series of changes as JSON, and is currently used in the Poppy project."},{"line_number":70,"context_line":"  Accepting missing resource fields as unchanged is also valid behavior under"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5afe65bd_b4089292","line":67,"updated":"2015-06-03 14:34:54.000000000","message":"I see what you\u0027re saying. I\u0027ve reworded this part of the guideline to separate the semantics explanation from the representation implementation.","commit_id":"a7f72e7b838ec94a21859d4c1283a67edf6bfa7f"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"abb9e828179fc9ebed3b23aa8c1f365829a2a1ec","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"* When choosing how to update a resource, **PUT** and **PATCH** imply different"},{"line_number":66,"context_line":"  semantics. **PUT** requires sending the entire updated resource, while"},{"line_number":67,"context_line":"  **PATCH** accepts partial representation. :rfc:`5789` does not specify a"},{"line_number":68,"context_line":"  partial representation format. JSON-patch in :rfc:`6902` specifies a way to"},{"line_number":69,"context_line":"  send a series of changes as JSON, and is currently used in the Poppy project."},{"line_number":70,"context_line":"  Accepting missing resource fields as unchanged is also valid behavior under"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5afe65bd_aa20359c","line":67,"updated":"2015-06-03 10:10:04.000000000","message":"I think we should be careful with how we use the terms resource and representation. When we PUT we are putting a full representation of a resource to replace the server\u0027s stored resource. When we PATCH we are sending a partial representation to modify the server\u0027s stored resource. The details of the form of those representations are not critical, it is the semantics of the action that are.\n\nYou\u0027ve pretty much nailed it here, but I think it could be slightly more explicit, or perhaps just more verbose.","commit_id":"a7f72e7b838ec94a21859d4c1283a67edf6bfa7f"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"abb9e828179fc9ebed3b23aa8c1f365829a2a1ec","unresolved":false,"context_lines":[{"line_number":66,"context_line":"  semantics. **PUT** requires sending the entire updated resource, while"},{"line_number":67,"context_line":"  **PATCH** accepts partial representation. :rfc:`5789` does not specify a"},{"line_number":68,"context_line":"  partial representation format. JSON-patch in :rfc:`6902` specifies a way to"},{"line_number":69,"context_line":"  send a series of changes as JSON, and is currently used in the Poppy project."},{"line_number":70,"context_line":"  Accepting missing resource fields as unchanged is also valid behavior under"},{"line_number":71,"context_line":"  :rfc:`5789`, but is not standardized."},{"line_number":72,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5afe65bd_8a2339a7","line":69,"updated":"2015-06-03 10:10:04.000000000","message":"Is the use by Poppy a relevant detail or a way of saying \"if you wanna see it in action look at...\"?","commit_id":"a7f72e7b838ec94a21859d4c1283a67edf6bfa7f"},{"author":{"_account_id":12321,"name":"Ryan Brown","email":"rybrown@redhat.com","username":"ryansb"},"change_message_id":"9bd373a34417a8baac49c75b7cefdca58090b18c","unresolved":false,"context_lines":[{"line_number":66,"context_line":"  semantics. **PUT** requires sending the entire updated resource, while"},{"line_number":67,"context_line":"  **PATCH** accepts partial representation. :rfc:`5789` does not specify a"},{"line_number":68,"context_line":"  partial representation format. JSON-patch in :rfc:`6902` specifies a way to"},{"line_number":69,"context_line":"  send a series of changes as JSON, and is currently used in the Poppy project."},{"line_number":70,"context_line":"  Accepting missing resource fields as unchanged is also valid behavior under"},{"line_number":71,"context_line":"  :rfc:`5789`, but is not standardized."},{"line_number":72,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5afe65bd_94ffd666","line":69,"updated":"2015-06-03 14:34:54.000000000","message":"It\u0027s the latter. I thought it would be good to reference a specific project.","commit_id":"a7f72e7b838ec94a21859d4c1283a67edf6bfa7f"},{"author":{"_account_id":12321,"name":"Ryan Brown","email":"rybrown@redhat.com","username":"ryansb"},"change_message_id":"0d8492c937bbd9db4569f6eada1229384325f087","unresolved":false,"context_lines":[{"line_number":68,"context_line":"  contrast, **PATCH** accepts partial representation which will modify the"},{"line_number":69,"context_line":"  server\u0027s stored resource. :rfc:`5789` does not specify a partial"},{"line_number":70,"context_line":"  representation format. JSON-patch in :rfc:`6902` specifies a way to send a"},{"line_number":71,"context_line":"  series of changes represented as JSON, and is currently used in the Poppy"},{"line_number":72,"context_line":"  project. One unstandardized alternative is to accept missing resource fields"},{"line_number":73,"context_line":"  as unchanged. This is valid under :rfc:`5789`, but makes it possible to lose"},{"line_number":74,"context_line":"  updates when dealing with lists or sets."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3afb71cf_eb1d4910","line":71,"updated":"2015-06-05 14:24:04.000000000","message":"I suppose that\u0027s true; let\u0027s see what at least one other person thinks and I won\u0027t mind nixing it.","commit_id":"14ae3f94d8fddeddacf786bf138166fb2809cdff"},{"author":{"_account_id":10670,"name":"Michael McCune","email":"elmiko@redhat.com","username":"mimccune"},"change_message_id":"fe82e6fd492b76f3a1d397c1f4e2771f4c5ff968","unresolved":false,"context_lines":[{"line_number":68,"context_line":"  contrast, **PATCH** accepts partial representation which will modify the"},{"line_number":69,"context_line":"  server\u0027s stored resource. :rfc:`5789` does not specify a partial"},{"line_number":70,"context_line":"  representation format. JSON-patch in :rfc:`6902` specifies a way to send a"},{"line_number":71,"context_line":"  series of changes represented as JSON, and is currently used in the Poppy"},{"line_number":72,"context_line":"  project. One unstandardized alternative is to accept missing resource fields"},{"line_number":73,"context_line":"  as unchanged. This is valid under :rfc:`5789`, but makes it possible to lose"},{"line_number":74,"context_line":"  updates when dealing with lists or sets."}],"source_content_type":"text/x-rst","patch_set":4,"id":"5afe65bd_302705cc","line":71,"updated":"2015-06-03 17:46:18.000000000","message":"i\u0027m not sure we need to mention Poppy here, my concern is that we might have to revisit this section if they change. it\u0027s not a -1 for me, but i\u0027d like to hear more opinions.","commit_id":"14ae3f94d8fddeddacf786bf138166fb2809cdff"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"798a7d94e5505d7c25f4c0efe3bf89b7d8c86e33","unresolved":false,"context_lines":[{"line_number":68,"context_line":"  contrast, **PATCH** accepts partial representation which will modify the"},{"line_number":69,"context_line":"  server\u0027s stored resource. :rfc:`5789` does not specify a partial"},{"line_number":70,"context_line":"  representation format. JSON-patch in :rfc:`6902` specifies a way to send a"},{"line_number":71,"context_line":"  series of changes represented as JSON, and is currently used in the Poppy"},{"line_number":72,"context_line":"  project. One unstandardized alternative is to accept missing resource fields"},{"line_number":73,"context_line":"  as unchanged. This is valid under :rfc:`5789`, but makes it possible to lose"},{"line_number":74,"context_line":"  updates when dealing with lists or sets."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3afb71cf_bc72a347","line":71,"in_reply_to":"3afb71cf_eb1d4910","updated":"2015-06-09 00:02:30.000000000","message":"If you do keep this you should add a link.","commit_id":"14ae3f94d8fddeddacf786bf138166fb2809cdff"},{"author":{"_account_id":12321,"name":"Ryan Brown","email":"rybrown@redhat.com","username":"ryansb"},"change_message_id":"6607d95e745fd2c6df7f14561596799ce6947e95","unresolved":false,"context_lines":[{"line_number":69,"context_line":"  server\u0027s stored resource. :rfc:`5789` does not specify a partial"},{"line_number":70,"context_line":"  representation format. JSON-patch in :rfc:`6902` specifies a way to send a"},{"line_number":71,"context_line":"  series of changes represented as JSON. One unstandardized alternative is to"},{"line_number":72,"context_line":"  accept missing resource fields as unchanged. This is valid under :rfc:`5789`,"},{"line_number":73,"context_line":"  but makes it possible to lose updates when dealing with lists or sets."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"Conveying error/fault information to the end user"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba3cc151_ff9ca66b","line":72,"updated":"2015-07-08 12:40:11.000000000","message":"I\u0027m stating that it is \"allowed\" but not explicitly stated. It definitely sounds like this wording is ambiguous enough to need re-editing. Since this is frozen, I can put this in a follow-up patch, or break the freeze and fix it here. \n\nDo you have a particular preference?","commit_id":"7ff0424c995c149d9e76abfc5ee75ed362caf11c"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"61a0839dcd770387fdd2ad460c6a1813a016df1e","unresolved":false,"context_lines":[{"line_number":69,"context_line":"  server\u0027s stored resource. :rfc:`5789` does not specify a partial"},{"line_number":70,"context_line":"  representation format. JSON-patch in :rfc:`6902` specifies a way to send a"},{"line_number":71,"context_line":"  series of changes represented as JSON. One unstandardized alternative is to"},{"line_number":72,"context_line":"  accept missing resource fields as unchanged. This is valid under :rfc:`5789`,"},{"line_number":73,"context_line":"  but makes it possible to lose updates when dealing with lists or sets."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"Conveying error/fault information to the end user"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba3cc151_084f0bbe","line":72,"updated":"2015-07-07 14:01:52.000000000","message":"I\u0027ve read RFC 5789 but found no specific mention of this.\nAre you simply stating that treating a partial PUT as a \"standard\" PUT where unspecified fields are considered unchanged is valid for RFC5789?\n\nIn that case perhaps I would clarify we are talking about a PUT method.\nAlso, pedantically speaking, for being compliant with RFC5789 rather than \"unchanged\" we should talk about keeping values of unspecified attribute to the same state in which they were when the request was processed - as \"unchanged\" can either mean unchanged wrt server state or client state.","commit_id":"7ff0424c995c149d9e76abfc5ee75ed362caf11c"},{"author":{"_account_id":12321,"name":"Ryan Brown","email":"rybrown@redhat.com","username":"ryansb"},"change_message_id":"31437fc35efc1cd33fec3b5b75fb71af3298bcba","unresolved":false,"context_lines":[{"line_number":69,"context_line":"  server\u0027s stored resource. :rfc:`5789` does not specify a partial"},{"line_number":70,"context_line":"  representation format. JSON-patch in :rfc:`6902` specifies a way to send a"},{"line_number":71,"context_line":"  series of changes represented as JSON. One unstandardized alternative is to"},{"line_number":72,"context_line":"  accept missing resource fields as unchanged. This is valid under :rfc:`5789`,"},{"line_number":73,"context_line":"  but makes it possible to lose updates when dealing with lists or sets."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"Conveying error/fault information to the end user"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba3cc151_7542ee3f","line":72,"in_reply_to":"ba3cc151_7d065e1d","updated":"2015-07-08 14:50:08.000000000","message":"Resolved with this follow-up https://review.openstack.org/#/c/199597/","commit_id":"7ff0424c995c149d9e76abfc5ee75ed362caf11c"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"d2bd15b08a062547333f7bca25ef4346d464b2ae","unresolved":false,"context_lines":[{"line_number":69,"context_line":"  server\u0027s stored resource. :rfc:`5789` does not specify a partial"},{"line_number":70,"context_line":"  representation format. JSON-patch in :rfc:`6902` specifies a way to send a"},{"line_number":71,"context_line":"  series of changes represented as JSON. One unstandardized alternative is to"},{"line_number":72,"context_line":"  accept missing resource fields as unchanged. This is valid under :rfc:`5789`,"},{"line_number":73,"context_line":"  but makes it possible to lose updates when dealing with lists or sets."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"Conveying error/fault information to the end user"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba3cc151_7d065e1d","line":72,"in_reply_to":"ba3cc151_ff9ca66b","updated":"2015-07-08 13:02:19.000000000","message":"There is no need to break the freeze. Pedantry can be satisfied in a follow up patch.\n\nI think mentioning that RFC 5789 allows for this by not explicitly forbidding it would be enough.","commit_id":"7ff0424c995c149d9e76abfc5ee75ed362caf11c"}]}
