)]}'
{"doc/source/devref/api_microversions.rst":[{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"17106684d2d104cb6d676310ba924544e596b5be","unresolved":false,"context_lines":[{"line_number":132,"context_line":"        \u003ccommon code\u003e"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        req_ver \u003d req.api_version_request"},{"line_number":135,"context_line":"        if req_version.matches(\"2.1\", \"2.5\"):"},{"line_number":136,"context_line":"            ....stuff...."},{"line_number":137,"context_line":"        elif req_version.matches(\"2.6\", 2.10\"):"},{"line_number":138,"context_line":"            ....other stuff...."}],"source_content_type":"text/x-rst","patch_set":1,"id":"da86d52c_b34decc6","line":135,"updated":"2015-02-17 02:46:53.000000000","message":"I\u0027m assuming that the args are min and max versions.","commit_id":"deed745b5b870c64d4c06a1c471d16a2ef48aad1"},{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"32fef83f6a1c226d1ed0bf9b152404c2417a9e50","unresolved":false,"context_lines":[{"line_number":132,"context_line":"        \u003ccommon code\u003e"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        req_ver \u003d req.api_version_request"},{"line_number":135,"context_line":"        if req_version.matches(\"2.1\", \"2.5\"):"},{"line_number":136,"context_line":"            ....stuff...."},{"line_number":137,"context_line":"        elif req_version.matches(\"2.6\", 2.10\"):"},{"line_number":138,"context_line":"            ....other stuff...."}],"source_content_type":"text/x-rst","patch_set":1,"id":"da86d52c_3929d637","line":135,"in_reply_to":"da86d52c_b34decc6","updated":"2015-02-17 09:00:20.000000000","message":"ah yea, its probably a good idea to be explicit about that","commit_id":"deed745b5b870c64d4c06a1c471d16a2ef48aad1"},{"author":{"_account_id":9420,"name":"Matthew Gilliard","email":"matthew.gilliard@hp.com","username":"gilliard"},"change_message_id":"5711f96525c215725c033413bd0d8d2fda649eb6","unresolved":false,"context_lines":[{"line_number":122,"context_line":"When not using decorators"},{"line_number":123,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"When you can\u0027t or don\u0027t want to use the @api_version decorator on a"},{"line_number":126,"context_line":"method or you want to change behaviour within a method you can"},{"line_number":127,"context_line":"directly test for the requested version. Every API method has an"},{"line_number":128,"context_line":"api_version_request object attached to the req object and that can be"}],"source_content_type":"text/x-rst","patch_set":2,"id":"da86d52c_2cb99279","line":125,"updated":"2015-02-17 09:57:33.000000000","message":"formatting nit:  ``@api_version`` to make it fixed width.","commit_id":"d747629e79467cd786f3b24b05a1b14abfd4f00a"},{"author":{"_account_id":9420,"name":"Matthew Gilliard","email":"matthew.gilliard@hp.com","username":"gilliard"},"change_message_id":"5711f96525c215725c033413bd0d8d2fda649eb6","unresolved":false,"context_lines":[{"line_number":134,"context_line":"        req_ver \u003d req.api_version_request"},{"line_number":135,"context_line":"        if req_version.matches(\"2.1\", \"2.5\"):"},{"line_number":136,"context_line":"            ....stuff...."},{"line_number":137,"context_line":"        elif req_version.matches(\"2.6\", 2.10\"):"},{"line_number":138,"context_line":"            ....other stuff...."},{"line_number":139,"context_line":"        elif req_version \u003e api_version_request.APIVersionRequest(\"2.10\"):"},{"line_number":140,"context_line":"            ....more stuff....."}],"source_content_type":"text/x-rst","patch_set":2,"id":"da86d52c_4c8886c6","line":137,"updated":"2015-02-17 09:57:33.000000000","message":"missing a \" here.","commit_id":"d747629e79467cd786f3b24b05a1b14abfd4f00a"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"64a7a69fd04f9b006350d243598fbbe5137416f9","unresolved":false,"context_lines":[{"line_number":122,"context_line":"When not using decorators"},{"line_number":123,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"When you can\u0027t or don\u0027t want to use the ``@api_version`` decorator on a"},{"line_number":126,"context_line":"method or you want to change behaviour within a method you can"},{"line_number":127,"context_line":"directly test for the requested version. Every API method has an"},{"line_number":128,"context_line":"api_version_request object attached to the req object and that can be"}],"source_content_type":"text/x-rst","patch_set":3,"id":"da86d52c_ac8c7ed8","line":125,"updated":"2015-02-18 01:02:21.000000000","message":"Emm... we should think why we can\u0027t and why we don\u0027t want first.\n\nI think we can use it for anycase. And we want to avoid a lot of \u0027if else\u0027 in the code. I\u0027m not should the manual checking is make sense. or we say we didn\u0027t encourage to use manual checking.","commit_id":"97ea5204f11ee21df63da110699025890ade429a"},{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"1920613024088f8ed34f2baf7fcce95011b8cc23","unresolved":false,"context_lines":[{"line_number":122,"context_line":"When not using decorators"},{"line_number":123,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"When you can\u0027t or don\u0027t want to use the ``@api_version`` decorator on a"},{"line_number":126,"context_line":"method or you want to change behaviour within a method you can"},{"line_number":127,"context_line":"directly test for the requested version. Every API method has an"},{"line_number":128,"context_line":"api_version_request object attached to the req object and that can be"}],"source_content_type":"text/x-rst","patch_set":3,"id":"da86d52c_10bcbcba","line":125,"in_reply_to":"da86d52c_ac8c7ed8","updated":"2015-02-18 04:42:23.000000000","message":"so @api_version is not yet compatible with all of the wsgi decorators. We\u0027ll need to fix these, but this is a reasonable workaround.\n\nAlso the divergence in behaviour might also happen fairly far down a call chain in which case we either might have to use lots of bool flags or alternatively just pass the version request object as suggested here.","commit_id":"97ea5204f11ee21df63da110699025890ade429a"},{"author":{"_account_id":9420,"name":"Matthew Gilliard","email":"matthew.gilliard@hp.com","username":"gilliard"},"change_message_id":"2854a46c1a673346d2cc53da1999aab6ada857c1","unresolved":false,"context_lines":[{"line_number":126,"context_line":"or you want to change behaviour within a method (say it leads to"},{"line_number":127,"context_line":"simpler or simply a lot less code) you can directly test for the"},{"line_number":128,"context_line":"requested version with a method as long as you have access to the api"},{"line_number":129,"context_line":"request object (commonly called ``req``.. Every API method has an"},{"line_number":130,"context_line":"api_version_request object attached to the req object and that can be"},{"line_number":131,"context_line":"used to modify behaviour based on its value::"},{"line_number":132,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba7be1f8_970a3577","line":129,"updated":"2015-02-25 14:56:45.000000000","message":"Nits: The two dots in\n\n  ``req``..\n\nAre rendered verbatim, which doesn\u0027t make much sense to me. Also, please, help yourself to a close-bracket :)","commit_id":"721f182daa7a459fdac141abd13492f4861e9562"}]}
