aboutsummaryrefslogtreecommitdiff
path: root/server/lib/Uplcg/Config.hs
blob: 627a829bdc2939d48454fe09772ea4c56c3c4072 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
module Uplcg.Config
    ( Config (..)
    , fromEnv
    ) where

import           Data.String        (fromString)
import qualified Data.Text          as T
import           System.Environment (getEnv)
import           Uplcg.BaseUrl      (BaseUrl)
import qualified Uplcg.BaseUrl      as BaseUrl

data Config = Config
    { cHostname :: String
    , cPort     :: Int
    , cBaseUrl  :: BaseUrl
    , cVersion  :: String
    } deriving (Show)

fromEnv :: IO Config
fromEnv = Config
    <$> getEnv "UPLCG_HOSTNAME"
    <*> (read <$> getEnv "UPLCG_PORT")
    <*> (BaseUrl.parse . T.pack <$> getEnv "UPLCG_BASE")
    <*> getEnv "UPLCG_VERSION"