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) deriving (Show, Generic)
data Config = Config { database :: Pg data Config = Config { database :: Pg
, store :: Store } , store :: Store
, port :: Integer }
deriving (Show, Generic) deriving (Show, Generic)
instance Interpret Pg instance Interpret Pg

View File

@ -8,7 +8,7 @@ module Main where
import ClassyPrelude import ClassyPrelude
import Configuration import Configuration
import Control.Lens (view) import Control.Lens (view, to)
import Data.Generics.Product import Data.Generics.Product
import Data.Pool (createPool) import Data.Pool (createPool)
import Database.Selda.PostgreSQL (PGConnectInfo (..), pgOpen, import Database.Selda.PostgreSQL (PGConnectInfo (..), pgOpen,
@ -21,7 +21,7 @@ import Types
import System.Environment (getEnvironment) import System.Environment (getEnvironment)
defaultMain :: App -> IO () 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 -> (App -> IO ()) -> IO ()
withApp config f = do withApp config f = do

View File

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