mirror of
https://github.com/aljazceru/goose.git
synced 2025-12-17 22:24:21 +01:00
fix: handle JsonRPC error variants as responses (#2903)
This commit is contained in:
@@ -110,6 +110,12 @@ where
|
||||
let collected_events_after = events.lock().await.len();
|
||||
assert_eq!(collected_events_after - collected_eventes_before, n_steps);
|
||||
|
||||
let error_result = client
|
||||
.call_tool("add", serde_json::json!({ "a": "foo", "b": "bar" }))
|
||||
.await;
|
||||
assert!(error_result.is_err());
|
||||
println!("Error result: {error_result:#?}\n");
|
||||
|
||||
// List resources
|
||||
let resources = client.list_resources(None).await?;
|
||||
println!("Resources: {resources:#?}\n");
|
||||
|
||||
@@ -135,7 +135,8 @@ where
|
||||
Ok(message) => {
|
||||
tracing::info!("Received message: {:?}", message);
|
||||
match message {
|
||||
JsonRpcMessage::Response(JsonRpcResponse { id: Some(id), .. }) => {
|
||||
JsonRpcMessage::Response(JsonRpcResponse { id: Some(id), .. })
|
||||
| JsonRpcMessage::Error(JsonRpcError { id: Some(id), .. }) => {
|
||||
service_ptr.respond(&id.to_string(), Ok(message)).await;
|
||||
}
|
||||
_ => {
|
||||
|
||||
Reference in New Issue
Block a user