add api_version to response (#1088)

Fix #1020
This commit is contained in:
cyan317
2024-01-09 15:53:09 +00:00
committed by GitHub
parent 61f1e0853d
commit d30e63d49a
3 changed files with 32 additions and 19 deletions

View File

@@ -150,18 +150,23 @@ public:
auto e = rpc::makeError(error);
if (request_) {
auto const& req = request_.value();
auto const id = req.contains("id") ? req.at("id") : nullptr;
if (not id.is_null())
e["id"] = id;
auto const appendFieldIfExist = [&](auto const& field) {
if (request_->contains(field) and not request_->at(field).is_null())
e[field] = request_->at(field);
};
e["request"] = req;
appendFieldIfExist(JS(id));
if (connection_->upgraded)
appendFieldIfExist(JS(api_version));
e[JS(request)] = request_.value();
}
if (connection_->upgraded) {
return e;
}
return {{"result", e}};
return {{JS(result), e}};
}
};