diff --git a/app/Main.hs b/app/Main.hs index 783b9ab..5651b36 100644 --- a/app/Main.hs +++ b/app/Main.hs @@ -26,6 +26,7 @@ import System.Log.Handler.Simple import System.Log.Handler (setFormatter) import System.Log.Formatter import System.ZMQ4 +import System.ZMQ4.ZAP import Data.Aeson import Data.Aeson.Types @@ -51,6 +52,8 @@ data TableConfig = TableConfig { data Config = Config { quotesourceEndpoint :: String, brokerserverEndpoint :: String, + whitelist :: [T.Text], + blacklist :: [T.Text], tables :: [TableConfig], quikPath :: String, dllPath :: String, @@ -71,6 +74,8 @@ parseConfig :: Value -> Parser Config parseConfig = withObject "object" $ \obj -> do qse <- obj .: "quotesource-endpoint" bse <- obj .: "brokerserver-endpoint" + whitelist' <- obj .:? "whitelist" .!= [] + blacklist' <- obj .:? "blacklist" .!= [] rt <- case HM.lookup "tables" obj of Just v -> parseTables v Nothing -> fail "Expected tables array" @@ -82,6 +87,8 @@ parseConfig = withObject "object" $ \obj -> do accs <- V.toList <$> obj .: "accounts" return Config { quotesourceEndpoint = qse, brokerserverEndpoint = bse, + whitelist = whitelist', + blacklist = blacklist', tables = rt, quikPath = qp, dllPath = dp, diff --git a/stack.yaml b/stack.yaml index 05e6206..b94bd4f 100644 --- a/stack.yaml +++ b/stack.yaml @@ -38,7 +38,7 @@ resolver: lts-7.7 packages: - '.' - '../libatrade' -- '../zeromq-haskell' +- '../zeromq4-haskell-zap' # Dependency packages to be pulled from upstream that are not in the resolver # (e.g., acme-missiles-0.3) extra-deps: [ "datetime-0.3.1", "cond-0.4.1.1"]