From 5277d122d0455fea4e4b68c080d9d320ddcd2622 Mon Sep 17 00:00:00 2001 From: NagyZoltanPeter <113987313+NagyZoltanPeter@users.noreply.github.com> Date: Wed, 18 Oct 2023 11:47:47 +0200 Subject: [PATCH] Fix wrong install of filter rest api - now installed when using filter client mode and filter client protocol is mounted correctly (#2133) --- apps/wakunode2/app.nim | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/apps/wakunode2/app.nim b/apps/wakunode2/app.nim index 97dbec747..f103acb17 100644 --- a/apps/wakunode2/app.nim +++ b/apps/wakunode2/app.nim @@ -473,9 +473,12 @@ proc setupProtocols(node: WakuNode, if conf.filternode != "": let filterNode = parsePeerInfo(conf.filternode) if filterNode.isOk(): - await node.mountFilterClient() - node.peerManager.addServicePeer(filterNode.value, WakuLegacyFilterCodec) - node.peerManager.addServicePeer(filterNode.value, WakuFilterSubscribeCodec) + try: + await node.mountFilterClient() + node.peerManager.addServicePeer(filterNode.value, WakuLegacyFilterCodec) + node.peerManager.addServicePeer(filterNode.value, WakuFilterSubscribeCodec) + except CatchableError: + return err("failed to mount waku filter client protocol: " & getCurrentExceptionMsg()) else: return err("failed to set node waku filter peer: " & filterNode.error) @@ -595,7 +598,10 @@ proc startRestServer(app: App, address: ValidIpAddress, port: Port, conf: WakuNo installRelayApiHandlers(server.router, app.node, cache) ## Filter REST API - if conf.filter: + if conf.filternode != "" and + app.node.wakuFilterClient != nil and + app.node.wakuFilterClientLegacy != nil: + let legacyFilterCache = rest_legacy_filter_api.MessageCache.init() rest_legacy_filter_api.installLegacyFilterRestApiHandlers(server.router, app.node, legacyFilterCache) @@ -606,7 +612,9 @@ proc startRestServer(app: App, address: ValidIpAddress, port: Port, conf: WakuNo installStoreApiHandlers(server.router, app.node) ## Light push API - rest_lightpush_api.installLightPushRequestHandler(server.router, app.node) + if conf.lightpushnode != "" and + app.node.wakuLightpushClient != nil: + rest_lightpush_api.installLightPushRequestHandler(server.router, app.node) server.start() info "Starting REST HTTP server", url = "http://" & $address & ":" & $port & "/"