diff --git a/yesod/scaffold/Settings.hs.cg b/yesod/scaffold/Settings.hs.cg index 97352bf6..5c766c33 100644 --- a/yesod/scaffold/Settings.hs.cg +++ b/yesod/scaffold/Settings.hs.cg @@ -85,19 +85,19 @@ loadConfig :: AppEnvironment -> IO AppConfig loadConfig env = do allSettings <- (join $ YAML.decodeFile ("config/settings.yml" :: String)) >>= fromMapping settings <- lookupMapping (show env) allSettings - portS <- lookupScalar "port" settings hostS <- lookupScalar "host" settings + port <- fmap read $ lookupScalar "port" settings connectionPoolSizeS <- lookupScalar "connectionPoolSize" settings return $ AppConfig { appEnv = env - , appPort = read portS - , appRoot = maybeAddPort hostS portS + , appPort = port + , appRoot = pack $ hostS ++ maybeAddPort port , connectionPoolSize = read connectionPoolSizeS } - where - maybeAddPort :: String -> String -> Text - maybeAddPort h p = pack $ if p == "80" then h else h ++ ":" ++ p + maybeAddPort :: Int -> String + maybeAddPort 80 = "" + maybeAddPort p = ":" ++ (show p) -- Static setting below. Changing these requires a recompile diff --git a/yesod/scaffold/tiny/Settings.hs.cg b/yesod/scaffold/tiny/Settings.hs.cg index cfcea2fd..1158fe2a 100644 --- a/yesod/scaffold/tiny/Settings.hs.cg +++ b/yesod/scaffold/tiny/Settings.hs.cg @@ -67,13 +67,17 @@ loadConfig :: AppEnvironment -> IO AppConfig loadConfig env = do allSettings <- (join $ YAML.decodeFile ("config/settings.yml" :: String)) >>= fromMapping settings <- lookupMapping (show env) allSettings - portS <- lookupScalar "port" settings hostS <- lookupScalar "host" settings + port <- fmap read $ lookupScalar "port" settings return $ AppConfig { appEnv = env - , appPort = read portS - , appRoot = pack (hostS ++ ":" ++ portS) + , appPort = port + , appRoot = pack $ hostS ++ maybeAddPort port } + where + maybeAddPort :: Int -> String + maybeAddPort 80 = "" + maybeAddPort p = ":" ++ (show p) -- | The location of static files on your system. This is a file system -- path. The default value works properly with your scaffolded site.