fix: reply -32700 on stdio parse errors instead of closing (#833)
* fix: reply -32700 on stdio parse errors instead of closing * fix: make JsonRpcError id optional per MCP spec
This commit is contained in:
parent
0f776ab1d6
commit
321ab14f67
5 changed files with 191 additions and 53 deletions
|
|
@ -30,7 +30,7 @@ async fn test_client_init_handles_jsonrpc_error() {
|
|||
|
||||
let error_msg = ServerJsonRpcMessage::Error(JsonRpcError {
|
||||
jsonrpc: JsonRpcVersion2_0,
|
||||
id: RequestId::Number(1),
|
||||
id: Some(RequestId::Number(1)),
|
||||
error: ErrorData {
|
||||
code: ErrorCode(-32600),
|
||||
message: Cow::Borrowed("Invalid Request"),
|
||||
|
|
|
|||
|
|
@ -862,7 +862,14 @@
|
|||
"$ref": "#/definitions/ErrorData"
|
||||
},
|
||||
"id": {
|
||||
"$ref": "#/definitions/NumberOrString"
|
||||
"anyOf": [
|
||||
{
|
||||
"$ref": "#/definitions/NumberOrString"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
]
|
||||
},
|
||||
"jsonrpc": {
|
||||
"$ref": "#/definitions/JsonRpcVersion2_0"
|
||||
|
|
@ -870,7 +877,6 @@
|
|||
},
|
||||
"required": [
|
||||
"jsonrpc",
|
||||
"id",
|
||||
"error"
|
||||
]
|
||||
},
|
||||
|
|
|
|||
|
|
@ -862,7 +862,14 @@
|
|||
"$ref": "#/definitions/ErrorData"
|
||||
},
|
||||
"id": {
|
||||
"$ref": "#/definitions/NumberOrString"
|
||||
"anyOf": [
|
||||
{
|
||||
"$ref": "#/definitions/NumberOrString"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
]
|
||||
},
|
||||
"jsonrpc": {
|
||||
"$ref": "#/definitions/JsonRpcVersion2_0"
|
||||
|
|
@ -870,7 +877,6 @@
|
|||
},
|
||||
"required": [
|
||||
"jsonrpc",
|
||||
"id",
|
||||
"error"
|
||||
]
|
||||
},
|
||||
|
|
|
|||
|
|
@ -1281,7 +1281,14 @@
|
|||
"$ref": "#/definitions/ErrorData"
|
||||
},
|
||||
"id": {
|
||||
"$ref": "#/definitions/NumberOrString"
|
||||
"anyOf": [
|
||||
{
|
||||
"$ref": "#/definitions/NumberOrString"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
]
|
||||
},
|
||||
"jsonrpc": {
|
||||
"$ref": "#/definitions/JsonRpcVersion2_0"
|
||||
|
|
@ -1289,7 +1296,6 @@
|
|||
},
|
||||
"required": [
|
||||
"jsonrpc",
|
||||
"id",
|
||||
"error"
|
||||
]
|
||||
},
|
||||
|
|
|
|||
|
|
@ -1281,7 +1281,14 @@
|
|||
"$ref": "#/definitions/ErrorData"
|
||||
},
|
||||
"id": {
|
||||
"$ref": "#/definitions/NumberOrString"
|
||||
"anyOf": [
|
||||
{
|
||||
"$ref": "#/definitions/NumberOrString"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
]
|
||||
},
|
||||
"jsonrpc": {
|
||||
"$ref": "#/definitions/JsonRpcVersion2_0"
|
||||
|
|
@ -1289,7 +1296,6 @@
|
|||
},
|
||||
"required": [
|
||||
"jsonrpc",
|
||||
"id",
|
||||
"error"
|
||||
]
|
||||
},
|
||||
|
|
|
|||
Loading…
Reference in a new issue