Skip to content

Commit 810766e

Browse files
committed
Handle additional error types in client initialization handling
1 parent f24c801 commit 810766e

File tree

1 file changed

+10
-4
lines changed
  • kotlin-sdk-client/src/commonMain/kotlin/io/modelcontextprotocol/kotlin/sdk/client

1 file changed

+10
-4
lines changed

kotlin-sdk-client/src/commonMain/kotlin/io/modelcontextprotocol/kotlin/sdk/client/Client.kt

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ import io.modelcontextprotocol.kotlin.sdk.types.ListRootsResult
3434
import io.modelcontextprotocol.kotlin.sdk.types.ListToolsRequest
3535
import io.modelcontextprotocol.kotlin.sdk.types.ListToolsResult
3636
import io.modelcontextprotocol.kotlin.sdk.types.LoggingLevel
37+
import io.modelcontextprotocol.kotlin.sdk.types.McpException
3738
import io.modelcontextprotocol.kotlin.sdk.types.Method
3839
import io.modelcontextprotocol.kotlin.sdk.types.PingRequest
3940
import io.modelcontextprotocol.kotlin.sdk.types.ReadResourceRequest
@@ -54,6 +55,7 @@ import kotlinx.atomicfu.update
5455
import kotlinx.collections.immutable.minus
5556
import kotlinx.collections.immutable.persistentMapOf
5657
import kotlinx.collections.immutable.toPersistentSet
58+
import kotlinx.serialization.SerializationException
5759
import kotlinx.serialization.json.JsonObject
5860
import kotlin.coroutines.cancellation.CancellationException
5961

@@ -196,11 +198,15 @@ public open class Client(private val clientInfo: Implementation, options: Client
196198
logger.error(error) { "Failed to initialize client: ${error.message}" }
197199
close()
198200

199-
if (error !is CancellationException) {
200-
throw IllegalStateException("Error connecting to transport: ${error.message}", error)
201-
}
201+
when (error) {
202+
is CancellationException,
203+
is McpException,
204+
is StreamableHttpError,
205+
is SerializationException,
206+
-> throw error
202207

203-
throw error
208+
else -> throw IllegalStateException("Error connecting to transport: ${error.message}", error)
209+
}
204210
}
205211
}
206212

0 commit comments

Comments
 (0)