mirror of
https://github.com/logos-storage/nim-ethers.git
synced 2026-01-07 16:13:06 +00:00
fix: unsubscribe does not raise
This commit is contained in:
parent
f8f10e2930
commit
f8556e3c61
@ -76,8 +76,8 @@ method subscribeLogs*(subscriptions: JsonRpcSubscriptions,
|
|||||||
|
|
||||||
method unsubscribe*(subscriptions: JsonRpcSubscriptions,
|
method unsubscribe*(subscriptions: JsonRpcSubscriptions,
|
||||||
id: JsonNode)
|
id: JsonNode)
|
||||||
{.async: (raises: [SubscriptionError, CancelledError]), base.} =
|
{.async: (raises: [CancelledError]), base.} =
|
||||||
raiseAssert "not implemented"
|
raiseAssert "not implemented "
|
||||||
|
|
||||||
method close*(subscriptions: JsonRpcSubscriptions) {.async: (raises: [SubscriptionError, CancelledError]), base.} =
|
method close*(subscriptions: JsonRpcSubscriptions) {.async: (raises: [SubscriptionError, CancelledError]), base.} =
|
||||||
let ids = toSeq subscriptions.callbacks.keys
|
let ids = toSeq subscriptions.callbacks.keys
|
||||||
@ -144,10 +144,15 @@ method subscribeLogs(subscriptions: WebSocketSubscriptions,
|
|||||||
|
|
||||||
method unsubscribe*(subscriptions: WebSocketSubscriptions,
|
method unsubscribe*(subscriptions: WebSocketSubscriptions,
|
||||||
id: JsonNode)
|
id: JsonNode)
|
||||||
{.async: (raises: [SubscriptionError, CancelledError]).} =
|
{.async: (raises: [CancelledError]).} =
|
||||||
convertErrorsToSubscriptionError:
|
try:
|
||||||
subscriptions.callbacks.del(id)
|
subscriptions.callbacks.del(id)
|
||||||
discard await subscriptions.client.eth_unsubscribe(id)
|
discard await subscriptions.client.eth_unsubscribe(id)
|
||||||
|
except CancelledError as e:
|
||||||
|
raise e
|
||||||
|
except CatchableError:
|
||||||
|
# Ignore if uninstallation of the subscribiton fails.
|
||||||
|
discard
|
||||||
|
|
||||||
# Polling
|
# Polling
|
||||||
|
|
||||||
@ -295,7 +300,7 @@ method subscribeLogs(subscriptions: PollingSubscriptions,
|
|||||||
|
|
||||||
method unsubscribe*(subscriptions: PollingSubscriptions,
|
method unsubscribe*(subscriptions: PollingSubscriptions,
|
||||||
id: JsonNode)
|
id: JsonNode)
|
||||||
{.async: (raises: [SubscriptionError, CancelledError]).} =
|
{.async: (raises: [CancelledError]).} =
|
||||||
try:
|
try:
|
||||||
subscriptions.logFilters.del(id)
|
subscriptions.logFilters.del(id)
|
||||||
subscriptions.callbacks.del(id)
|
subscriptions.callbacks.del(id)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user