summaryrefslogtreecommitdiff
path: root/main/Main.hs
diff options
context:
space:
mode:
authorRoman Smrž <roman.smrz@seznam.cz>2025-07-28 16:48:15 +0200
committerRoman Smrž <roman.smrz@seznam.cz>2025-07-28 21:40:34 +0200
commit8bcaaf5524504f01bd5643d74848cec625370aa9 (patch)
tree9a5e0e8a3564d1559851460f408903b87c32292a /main/Main.hs
parentae235831a83eb80910ad58f9a324a688ce5e2e47 (diff)
Peer address input in ServiceHandler
Diffstat (limited to 'main/Main.hs')
-rw-r--r--main/Main.hs17
1 files changed, 8 insertions, 9 deletions
diff --git a/main/Main.hs b/main/Main.hs
index e2e585a..6a6c565 100644
--- a/main/Main.hs
+++ b/main/Main.hs
@@ -172,17 +172,16 @@ options =
return sopt { soptService = service }
return opts { optServices = services' }
- provideTunnelFun :: Maybe String -> Writer [ String ] (Peer -> Bool)
- provideTunnelFun Nothing = return $ const True
- provideTunnelFun (Just "all") = return $ const True
- provideTunnelFun (Just "none") = return $ const False
- provideTunnelFun (Just "websocket") = return $ \peer ->
- case peerAddress peer of
- CustomPeerAddress addr | Just WebSocketAddress {} <- cast addr -> True
- _ -> False
+ provideTunnelFun :: Maybe String -> Writer [ String ] (Peer -> PeerAddress -> Bool)
+ provideTunnelFun Nothing = return $ \_ _ -> True
+ provideTunnelFun (Just "all") = return $ \_ _ -> True
+ provideTunnelFun (Just "none") = return $ \_ _ -> False
+ provideTunnelFun (Just "websocket") = return $ \_ -> \case
+ CustomPeerAddress addr | Just WebSocketAddress {} <- cast addr -> True
+ _ -> False
provideTunnelFun (Just name) = do
tell [ "Invalid value of --discovery-tunnel: ‘" <> name <> "’\n" ]
- return $ const False
+ return $ \_ _ -> False
servicesOptions :: [ OptDescr (Options -> Writer [ String ] Options) ]
servicesOptions = concatMap helper $ "all" : map soptName availableServices