sse_client: fix bug with json
parent
1e66845e8a
commit
4536d45a9e
|
@ -542,11 +542,14 @@ json sse_client::send_jsonrpc(const request& req) {
|
||||||
if (status == std::future_status::ready) {
|
if (status == std::future_status::ready) {
|
||||||
json response = response_future.get();
|
json response = response_future.get();
|
||||||
|
|
||||||
if (response.contains("isError") && response["isError"].get<bool>()) {
|
if (response.contains("isError") && response["isError"].is_boolean() && response["isError"].get<bool>()) {
|
||||||
int code = response["error"]["code"];
|
if (response.contains("error") && response["error"].is_object()) {
|
||||||
std::string message = response["error"]["message"];
|
const auto& err_obj = response["error"];
|
||||||
|
int code = err_obj.contains("code") ? err_obj["code"].get<int>() : static_cast<int>(error_code::internal_error);
|
||||||
throw mcp_exception(static_cast<error_code>(code), message);
|
std::string message = err_obj.value("message", "");
|
||||||
|
// Handle error
|
||||||
|
throw mcp_exception(static_cast<error_code>(code), message);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return response;
|
return response;
|
||||||
|
|
Loading…
Reference in New Issue