Mercurial > hg > piper-cpp
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 |