Catch errors in close method

This commit is contained in:
Arnaud 2025-04-10 09:36:07 +02:00
parent 1adf8d2630
commit 96c2d05b1f
No known key found for this signature in database
GPG Key ID: 69D6CE281FCAE663

View File

@ -84,10 +84,13 @@ method unsubscribe*(subscriptions: JsonRpcSubscriptions,
{.async: (raises: [CancelledError]), base.} =
raiseAssert "not implemented "
method close*(subscriptions: JsonRpcSubscriptions) {.async: (raises: [SubscriptionError, CancelledError]), base.} =
method close*(subscriptions: JsonRpcSubscriptions) {.async: (raises: []), base.} =
let ids = toSeq subscriptions.callbacks.keys
for id in ids:
await subscriptions.unsubscribe(id)
try:
await subscriptions.unsubscribe(id)
except CatchableError as e:
error "WS unsubscription failed", error = e.msg, id = id
proc getCallback(subscriptions: JsonRpcSubscriptions,
id: JsonNode): ?SubscriptionCallback {. raises:[].} =