Configurable port

This commit is contained in:
Mats Rauhala 2019-01-22 00:08:51 +02:00
parent e56aa4f9c8
commit 6ec2303b9f
3 changed files with 5 additions and 3 deletions

View File

@ -18,7 +18,8 @@ data Store = Filestore { path :: Text }
deriving (Show, Generic)
data Config = Config { database :: Pg
, store :: Store }
, store :: Store
, port :: Integer }
deriving (Show, Generic)
instance Interpret Pg

View File

@ -8,7 +8,7 @@ module Main where
import ClassyPrelude
import Configuration
import Control.Lens (view)
import Control.Lens (view, to)
import Data.Generics.Product
import Data.Pool (createPool)
import Database.Selda.PostgreSQL (PGConnectInfo (..), pgOpen,
@ -21,7 +21,7 @@ import Types
import System.Environment (getEnvironment)
defaultMain :: App -> IO ()
defaultMain = run 8080 . server
defaultMain app = run (view (field @"config" . field @"port" . to fromIntegral) app) $ server app
withApp :: Config -> (App -> IO ()) -> IO ()
withApp config f = do

View File

@ -4,4 +4,5 @@
, database : Text
, migrations : Text }
, store : < Filestore : { path : Text } | IPFS : { common : Text } >
, port : Integer
}