diff options
author | Roman Smrž <roman.smrz@seznam.cz> | 2025-07-28 16:48:15 +0200 |
---|---|---|
committer | Roman Smrž <roman.smrz@seznam.cz> | 2025-07-28 21:40:34 +0200 |
commit | 8bcaaf5524504f01bd5643d74848cec625370aa9 (patch) | |
tree | 9a5e0e8a3564d1559851460f408903b87c32292a /main/Main.hs | |
parent | ae235831a83eb80910ad58f9a324a688ce5e2e47 (diff) |
Peer address input in ServiceHandler
Diffstat (limited to 'main/Main.hs')
-rw-r--r-- | main/Main.hs | 17 |
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 |