@@ -473,9 +473,12 @@ proc setupProtocols(node: WakuNode,
473473 if conf.filternode != " " :
474474 let filterNode = parsePeerInfo (conf.filternode)
475475 if filterNode.isOk ():
476- await node.mountFilterClient ()
477- node.peerManager.addServicePeer (filterNode.value, WakuLegacyFilterCodec )
478- node.peerManager.addServicePeer (filterNode.value, WakuFilterSubscribeCodec )
476+ try :
477+ await node.mountFilterClient ()
478+ node.peerManager.addServicePeer (filterNode.value, WakuLegacyFilterCodec )
479+ node.peerManager.addServicePeer (filterNode.value, WakuFilterSubscribeCodec )
480+ except CatchableError :
481+ return err (" failed to mount waku filter client protocol: " & getCurrentExceptionMsg ())
479482 else :
480483 return err (" failed to set node waku filter peer: " & filterNode.error)
481484
@@ -595,7 +598,10 @@ proc startRestServer(app: App, address: ValidIpAddress, port: Port, conf: WakuNo
595598 installRelayApiHandlers (server.router, app.node, cache)
596599
597600 # # Filter REST API
598- if conf.filter:
601+ if conf.filternode != " " and
602+ app.node.wakuFilterClient != nil and
603+ app.node.wakuFilterClientLegacy != nil :
604+
599605 let legacyFilterCache = rest_legacy_filter_api.MessageCache .init ()
600606 rest_legacy_filter_api.installLegacyFilterRestApiHandlers (server.router, app.node, legacyFilterCache)
601607
@@ -606,7 +612,9 @@ proc startRestServer(app: App, address: ValidIpAddress, port: Port, conf: WakuNo
606612 installStoreApiHandlers (server.router, app.node)
607613
608614 # # Light push API
609- rest_lightpush_api.installLightPushRequestHandler (server.router, app.node)
615+ if conf.lightpushnode != " " and
616+ app.node.wakuLightpushClient != nil :
617+ rest_lightpush_api.installLightPushRequestHandler (server.router, app.node)
610618
611619 server.start ()
612620 info " Starting REST HTTP server" , url = " http://" & $ address & " :" & $ port & " /"
0 commit comments