on master help sign in
add host and port command line args for daemon
commitbda2cfcf944961a7ac593431343850028ee28797 authorAgentM <agentm@themactionfaction.com> dateTue 17 Nov 2015, 16:30 (11 years ago) parent168971c
2 files changed+20−3
ProjectM36/Daemon/Config.hs+7−2 ProjectM36/Daemon/ParseArgs.hs+13−1
ProjectM36/Daemon/Config.hs+7−2
@@ -2,9 +2,14 @@ module ProjectM36.Daemon.Config where
22import ProjectM36.Client
33
44data DaemonConfig = DaemonConfig { persistenceStrategy :: PersistenceStrategy,
5− databaseName :: DatabaseName
5+ databaseName :: DatabaseName,
6+ bindHost :: Hostname,
7+ bindPort :: Port
68 }
79
810defaultDaemonConfig :: DaemonConfig
911defaultDaemonConfig = DaemonConfig { persistenceStrategy = NoPersistence,
10− databaseName = "base" }
12+ databaseName = "base",
13+ bindHost = "127.0.0.1",
14+ bindPort = 6543
15+ }
ProjectM36/Daemon/ParseArgs.hs+13−1
@@ -5,7 +5,7 @@ import Options.Applicative
55import ProjectM36.Daemon.Config
66
77parseArgs :: Parser DaemonConfig
8−parseArgs = DaemonConfig <$> parsePersistenceStrategy <*> parseDatabaseName
8+parseArgs = DaemonConfig <$> parsePersistenceStrategy <*> parseDatabaseName <*> parseHostname <*> parsePort
99
1010parsePersistenceStrategy :: Parser PersistenceStrategy
1111parsePersistenceStrategy = CrashSafePersistence <$> (dbdirOpt <* fsyncOpt) <|>
@@ -25,6 +25,18 @@ parseDatabaseName :: Parser DatabaseName
2525parseDatabaseName = strOption (short 'n' <>
2626 long "database" <>
2727 metavar "DATABASE_NAME")
28+
29+parseHostname :: Parser Hostname
30+parseHostname = strOption (short 'h' <>
31+ long "hostname" <>
32+ metavar "HOST_NAME" <>
33+ value (bindHost defaultDaemonConfig))
34+
35+parsePort :: Parser Port
36+parsePort = option auto (short 'p' <>
37+ long "port" <>
38+ metavar "PORT_NUMBER" <>
39+ value (bindPort defaultDaemonConfig))
2840
2941parseConfig :: IO DaemonConfig
3042parseConfig = execParser $ info parseArgs idm