]> gitweb @ CieloNegro.org - Rakka.git/blob - Rakka/Environment.hs
015d37d43fda667574f42886fd7b9c2b8a3a4180
[Rakka.git] / Rakka / Environment.hs
1 module Rakka.Environment
2     ( Environment(..)
3     , setupEnv
4     )
5     where
6
7 import           Network
8 import qualified Network.HTTP.Lucu.Config as LC
9 import           Rakka.Storage
10 import           Rakka.SystemConfig
11
12
13 data Environment = Environment {
14       envLocalStateDir :: !FilePath
15     , envLucuConf      :: !LC.Config
16     , envStorage       :: !Storage
17     , envSysConf       :: !SystemConfig
18     }
19
20
21 setupEnv :: FilePath -> PortNumber -> IO Environment
22 setupEnv lsdir portNum
23     = do let lucuConf = LC.defaultConfig {
24                           LC.cnfServerPort = PortNumber portNum
25                         }
26          return $ Environment {
27                       envLocalStateDir = lsdir
28                     , envLucuConf      = lucuConf
29                     , envStorage       = mkStorage
30                     , envSysConf       = mkSystemConfig lucuConf
31                     }