99 simdjson::dom::parser parser;
100 simdjson::dom::element root;
101 auto parse_error = parser.parse(body).get(root);
104 error =
"Invalid JSON body";
108 simdjson::dom::object obj;
111 error =
"JSON-RPC request must be an object";
115 std::string_view method;
116 if(obj[
"method"].get(method))
118 error =
"Missing JSON-RPC method";
121 out.method.assign(method);
123 simdjson::dom::element params_el;
124 if(!obj[
"params"].get(params_el))
126 out.params_json = std::string(simdjson::minify(params_el));
130 out.params_json =
"{}";
133 simdjson::dom::element id_el;
134 if(!obj[
"id"].get(id_el))
137 out.id_json = std::string(simdjson::minify(id_el));