comparison utilities/vampipe-convert.cpp @ 67:db17657ac875

Validation fixes
author Chris Cannam <c.cannam@qmul.ac.uk>
date Wed, 05 Oct 2016 13:53:08 +0100
parents 6f160dee1192
children a5ba837bca28
comparison
equal deleted inserted replaced
66:6f160dee1192 67:db17657ac875
44 err = "invalid json: " + err; 44 err = "invalid json: " + err;
45 return {}; 45 return {};
46 } 46 }
47 if (!j.is_object()) { 47 if (!j.is_object()) {
48 err = "object expected at top level"; 48 err = "object expected at top level";
49 } else if (!j["type"].is_string()) { 49 } else if (!j["method"].is_string()) {
50 err = "string expected for type field"; 50 err = "string expected for method field";
51 } else if (!j["content"].is_null() && !j["content"].is_object()) { 51 } else if (!j["params"].is_null() && !j["params"].is_object()) {
52 err = "object expected for content field"; 52 err = "object expected for params field";
53 } 53 }
54 return j; 54 return j;
55 } 55 }
56 56
57 Json 57 Json
62 err = "invalid json: " + err; 62 err = "invalid json: " + err;
63 return {}; 63 return {};
64 } 64 }
65 if (!j.is_object()) { 65 if (!j.is_object()) {
66 err = "object expected at top level"; 66 err = "object expected at top level";
67 } else if (!j["success"].is_bool()) { 67 } else {
68 err = "bool expected for success field"; 68 if (!j["result"].is_object()) {
69 } else if (!j["content"].is_object()) { 69 if (!j["error"].is_object()) {
70 err = "object expected for content field"; 70 err = "expected either result or error object";
71 }
72 }
71 } 73 }
72 return j; 74 return j;
73 } 75 }
74 76
75 //!!! Lots of potential for refactoring the conversion classes based 77 //!!! Lots of potential for refactoring the conversion classes based