diff options
Diffstat (limited to 'fig-monitor-bullfrog/src/Fig')
| -rw-r--r-- | fig-monitor-bullfrog/src/Fig/Monitor/Bullfrog.hs | 36 | ||||
| -rw-r--r-- | fig-monitor-bullfrog/src/Fig/Monitor/Bullfrog/Utils.hs | 29 |
2 files changed, 0 insertions, 65 deletions
diff --git a/fig-monitor-bullfrog/src/Fig/Monitor/Bullfrog.hs b/fig-monitor-bullfrog/src/Fig/Monitor/Bullfrog.hs deleted file mode 100644 index 1b0f42c..0000000 --- a/fig-monitor-bullfrog/src/Fig/Monitor/Bullfrog.hs +++ /dev/null @@ -1,36 +0,0 @@ -{-# Language QuasiQuotes #-} -{-# Language RecordWildCards #-} -{-# Language ApplicativeDo #-} - -module Fig.Monitor.Bullfrog - ( bullfrogClient - ) where - -import Fig.Prelude - -import qualified Data.Text as Text - -import qualified Wuss as WS -import qualified Network.WebSockets.Connection as WS - -import Fig.Utils.SExpr -import Fig.Bus.SExpr.Client -import Fig.Monitor.Bullfrog.Utils - -bullfrogClient :: Config -> (Text, Text) -> IO () -bullfrogClient cfg busAddr = do - WS.runSecureClient "colonq.computer" 443 ("/bullfrog/api/channel/broadcast?token=" <> Text.unpack cfg.authToken) \conn -> do - busClient busAddr - (\cmds -> do - log "Connected to bus and broadcast server" - cmds.subscribe [sexp|(monitor bullfrog broadcast)|] - ) - (\_cmds d -> do - case d of - SExprList [ev, SExprString msg] - | ev == [sexp|(monitor bullfrog broadcast)|] -> do - log $ "Broadcasting message: " <> msg - WS.sendTextData conn msg - _ -> log $ "Invalid incoming message: " <> tshow d - ) - (pure ()) diff --git a/fig-monitor-bullfrog/src/Fig/Monitor/Bullfrog/Utils.hs b/fig-monitor-bullfrog/src/Fig/Monitor/Bullfrog/Utils.hs deleted file mode 100644 index b0ae02b..0000000 --- a/fig-monitor-bullfrog/src/Fig/Monitor/Bullfrog/Utils.hs +++ /dev/null @@ -1,29 +0,0 @@ -{-# Language ApplicativeDo #-} - -module Fig.Monitor.Bullfrog.Utils - ( FigMonitorBullfrogException(..) - , Config(..) - , loadConfig - ) where - -import Fig.Prelude - -import qualified Toml - -newtype FigMonitorBullfrogException = FigMonitorBullfrogException Text - deriving (Show, Eq, Ord) -instance Exception FigMonitorBullfrogException - -newtype Config = Config - { authToken :: Text - } deriving (Show, Eq, Ord) - -configCodec :: Toml.TomlCodec Config -configCodec = do - authToken <- Toml.text "auth_token" Toml..= (\a -> a.authToken) - pure $ Config{..} - -loadConfig :: FilePath -> IO Config -loadConfig path = Toml.decodeFileEither configCodec path >>= \case - Left err -> throwM . FigMonitorBullfrogException $ tshow err - Right config -> pure config |
