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