)]}'
{"doc/source/specs/api-json-schema-validation.rst":[{"author":{"_account_id":21224,"name":"jiaopengju","email":"jiaopengju_yewu@cmss.chinamobile.com","username":"jiaopengju"},"change_message_id":"d5bfed485c337283d6cfe66c2f7aa9958f012bf4","unresolved":false,"context_lines":[{"line_number":8,"context_line":"API Validation"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/karbor/+spec/json-schema-validation"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Currently, Karbor has different implementations for validating"},{"line_number":14,"context_line":"request bodies. The purpose of this blueprint is to track the progress of"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ff82abbf_bc1ac16c","line":11,"range":{"start_line":11,"start_character":46,"end_line":11,"end_character":68},"updated":"2017-11-30 14:13:28.000000000","message":"karbor-json-schema-validation","commit_id":"0cd79dcee2c5119f0d4f2779548bb53b258e1e9a"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"2503dab96796941ec3a24acebdba0496486d0f8a","unresolved":false,"context_lines":[{"line_number":8,"context_line":"API Validation"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/karbor/+spec/json-schema-validation"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Currently, Karbor has different implementations for validating"},{"line_number":14,"context_line":"request bodies. The purpose of this blueprint is to track the progress of"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ff82abbf_2bb41035","line":11,"range":{"start_line":11,"start_character":46,"end_line":11,"end_character":68},"in_reply_to":"ff82abbf_bc1ac16c","updated":"2017-12-01 03:52:42.000000000","message":"Done","commit_id":"0cd79dcee2c5119f0d4f2779548bb53b258e1e9a"},{"author":{"_account_id":21224,"name":"jiaopengju","email":"jiaopengju_yewu@cmss.chinamobile.com","username":"jiaopengju"},"change_message_id":"d5bfed485c337283d6cfe66c2f7aa9958f012bf4","unresolved":false,"context_lines":[{"line_number":130,"context_line":""},{"line_number":131,"context_line":"Before the API validation framework, we needed to add the validation code into"},{"line_number":132,"context_line":"each API method in ad-hoc. These changes would make the API method code dirty"},{"line_number":133,"context_line":"and we needed to create multiple patches due to incomplete validation."},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"If using JSON Schema definitions instead, acceptable request formats are clear"},{"line_number":136,"context_line":"and we don\u0027t need to do ad-hoc works in the future."}],"source_content_type":"text/x-rst","patch_set":3,"id":"ff82abbf_dc8c6581","line":133,"range":{"start_line":133,"start_character":7,"end_line":133,"end_character":13},"updated":"2017-11-30 14:13:28.000000000","message":"need","commit_id":"0cd79dcee2c5119f0d4f2779548bb53b258e1e9a"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"2503dab96796941ec3a24acebdba0496486d0f8a","unresolved":false,"context_lines":[{"line_number":130,"context_line":""},{"line_number":131,"context_line":"Before the API validation framework, we needed to add the validation code into"},{"line_number":132,"context_line":"each API method in ad-hoc. These changes would make the API method code dirty"},{"line_number":133,"context_line":"and we needed to create multiple patches due to incomplete validation."},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"If using JSON Schema definitions instead, acceptable request formats are clear"},{"line_number":136,"context_line":"and we don\u0027t need to do ad-hoc works in the future."}],"source_content_type":"text/x-rst","patch_set":3,"id":"ff82abbf_eb870861","line":133,"range":{"start_line":133,"start_character":7,"end_line":133,"end_character":13},"in_reply_to":"ff82abbf_dc8c6581","updated":"2017-12-01 03:52:42.000000000","message":"Done","commit_id":"0cd79dcee2c5119f0d4f2779548bb53b258e1e9a"},{"author":{"_account_id":21224,"name":"jiaopengju","email":"jiaopengju_yewu@cmss.chinamobile.com","username":"jiaopengju"},"change_message_id":"d5bfed485c337283d6cfe66c2f7aa9958f012bf4","unresolved":false,"context_lines":[{"line_number":183,"context_line":"The parameters of the resources being validated are public information,"},{"line_number":184,"context_line":"described in the Karbor API spec, with the exception of private data."},{"line_number":185,"context_line":"In the event the user\u0027s private data fails validation, a check can be built"},{"line_number":186,"context_line":"into the error handling of the validator to not return the actual value of the"},{"line_number":187,"context_line":"private data."},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"jsonschema documentation notes security considerations for both schemas and"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ff82abbf_7cbaf9e1","line":186,"range":{"start_line":186,"start_character":41,"end_line":186,"end_character":54},"updated":"2017-11-30 14:13:28.000000000","message":"not to return","commit_id":"0cd79dcee2c5119f0d4f2779548bb53b258e1e9a"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"2503dab96796941ec3a24acebdba0496486d0f8a","unresolved":false,"context_lines":[{"line_number":183,"context_line":"The parameters of the resources being validated are public information,"},{"line_number":184,"context_line":"described in the Karbor API spec, with the exception of private data."},{"line_number":185,"context_line":"In the event the user\u0027s private data fails validation, a check can be built"},{"line_number":186,"context_line":"into the error handling of the validator to not return the actual value of the"},{"line_number":187,"context_line":"private data."},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"jsonschema documentation notes security considerations for both schemas and"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ff82abbf_8b7c3c73","line":186,"range":{"start_line":186,"start_character":41,"end_line":186,"end_character":54},"in_reply_to":"ff82abbf_7cbaf9e1","updated":"2017-12-01 03:52:42.000000000","message":"Done","commit_id":"0cd79dcee2c5119f0d4f2779548bb53b258e1e9a"},{"author":{"_account_id":21224,"name":"jiaopengju","email":"jiaopengju_yewu@cmss.chinamobile.com","username":"jiaopengju"},"change_message_id":"d5bfed485c337283d6cfe66c2f7aa9958f012bf4","unresolved":false,"context_lines":[{"line_number":207,"context_line":"Performance Impact"},{"line_number":208,"context_line":"------------------"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"karbor will need some performance cost for this comprehensive request"},{"line_number":211,"context_line":"parameters validation, because the checks will be increased for API parameters"},{"line_number":212,"context_line":"which are not validated now."},{"line_number":213,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"ff82abbf_bcc3a138","line":210,"range":{"start_line":210,"start_character":0,"end_line":210,"end_character":6},"updated":"2017-11-30 14:13:28.000000000","message":"Karbor","commit_id":"0cd79dcee2c5119f0d4f2779548bb53b258e1e9a"},{"author":{"_account_id":21224,"name":"jiaopengju","email":"jiaopengju_yewu@cmss.chinamobile.com","username":"jiaopengju"},"change_message_id":"d5bfed485c337283d6cfe66c2f7aa9958f012bf4","unresolved":false,"context_lines":[{"line_number":243,"context_line":"2. Introduce validation schemas for existing API resources."},{"line_number":244,"context_line":"3. Enforce validation on proposed API additions and extensions."},{"line_number":245,"context_line":"4. Remove duplicated ad-hoc validation code."},{"line_number":246,"context_line":"5. Add unit and end-to-end tests of related API\u0027s."},{"line_number":247,"context_line":"6. Add/Update karbor documentation."},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ff82abbf_5c87f510","line":246,"range":{"start_line":246,"start_character":44,"end_line":246,"end_character":49},"updated":"2017-11-30 14:13:28.000000000","message":"APIs","commit_id":"0cd79dcee2c5119f0d4f2779548bb53b258e1e9a"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"2503dab96796941ec3a24acebdba0496486d0f8a","unresolved":false,"context_lines":[{"line_number":243,"context_line":"2. Introduce validation schemas for existing API resources."},{"line_number":244,"context_line":"3. Enforce validation on proposed API additions and extensions."},{"line_number":245,"context_line":"4. Remove duplicated ad-hoc validation code."},{"line_number":246,"context_line":"5. Add unit and end-to-end tests of related API\u0027s."},{"line_number":247,"context_line":"6. Add/Update karbor documentation."},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ff82abbf_ab81004d","line":246,"range":{"start_line":246,"start_character":44,"end_line":246,"end_character":49},"in_reply_to":"ff82abbf_5c87f510","updated":"2017-12-01 03:52:42.000000000","message":"Done","commit_id":"0cd79dcee2c5119f0d4f2779548bb53b258e1e9a"},{"author":{"_account_id":21224,"name":"jiaopengju","email":"jiaopengju_yewu@cmss.chinamobile.com","username":"jiaopengju"},"change_message_id":"d5bfed485c337283d6cfe66c2f7aa9958f012bf4","unresolved":false,"context_lines":[{"line_number":244,"context_line":"3. Enforce validation on proposed API additions and extensions."},{"line_number":245,"context_line":"4. Remove duplicated ad-hoc validation code."},{"line_number":246,"context_line":"5. Add unit and end-to-end tests of related API\u0027s."},{"line_number":247,"context_line":"6. Add/Update karbor documentation."},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"Dependencies"},{"line_number":250,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ff82abbf_dceea5b3","line":247,"range":{"start_line":247,"start_character":14,"end_line":247,"end_character":20},"updated":"2017-11-30 14:13:28.000000000","message":"Karbor, it\u0027s better to unify the words \u0027karbor\u0027 and \u0027Karbor\u0027","commit_id":"0cd79dcee2c5119f0d4f2779548bb53b258e1e9a"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"2503dab96796941ec3a24acebdba0496486d0f8a","unresolved":false,"context_lines":[{"line_number":244,"context_line":"3. Enforce validation on proposed API additions and extensions."},{"line_number":245,"context_line":"4. Remove duplicated ad-hoc validation code."},{"line_number":246,"context_line":"5. Add unit and end-to-end tests of related API\u0027s."},{"line_number":247,"context_line":"6. Add/Update karbor documentation."},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"Dependencies"},{"line_number":250,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ff82abbf_4b963497","line":247,"range":{"start_line":247,"start_character":14,"end_line":247,"end_character":20},"in_reply_to":"ff82abbf_dceea5b3","updated":"2017-12-01 03:52:42.000000000","message":"Done","commit_id":"0cd79dcee2c5119f0d4f2779548bb53b258e1e9a"}]}
