From 5fdab3b73131a8f12fd0e81968bb346ccd769178 Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 20 Dec 2011 15:57:15 +0200 Subject: [PATCH] Bind to IPv4 by default --- yesod-default/Yesod/Default/Main.hs | 8 ++++++-- yesod/Devel.hs | 10 ++++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/yesod-default/Yesod/Default/Main.hs b/yesod-default/Yesod/Default/Main.hs index b4013077..9b717c53 100644 --- a/yesod-default/Yesod/Default/Main.hs +++ b/yesod-default/Yesod/Default/Main.hs @@ -11,7 +11,8 @@ import Yesod.Core hiding (AppConfig (..)) import Yesod.Default.Config import Yesod.Logger (Logger, makeLogger, logString, logLazyText, flushLogger) import Network.Wai (Application) -import Network.Wai.Handler.Warp (run) +import Network.Wai.Handler.Warp + (runSettings, defaultSettings, settingsPort, settingsHost) import Network.Wai.Middleware.Debug (debugHandle) import System.Directory (doesDirectoryExist, removeDirectoryRecursive) import Network.Wai.Middleware.Gzip (gzip', GzipFiles (GzipCacheFolder), gzipFiles, def) @@ -46,7 +47,10 @@ defaultMain :: (Show env, Read env) defaultMain load withSite = do config <- load logger <- makeLogger - withSite config logger $ run (appPort config) + withSite config logger $ runSettings + { settingsHost = "0.0.0.0" + , settingsPort = appPort config + } -- | Run your application continously, listening for SIGINT and exiting -- when recieved diff --git a/yesod/Devel.hs b/yesod/Devel.hs index 7dabf331..44cfd865 100644 --- a/yesod/Devel.hs +++ b/yesod/Devel.hs @@ -25,6 +25,7 @@ import qualified Data.Text as T import qualified Data.Text.IO as T import System.Directory (createDirectoryIfMissing, removeFile, + doesFileExist, getDirectoryContents) import System.Exit (exitFailure, exitSuccess) import System.Posix.Types (EpochTime) @@ -35,6 +36,7 @@ import System.Process (runCommand, terminateProcess, import Text.Shakespeare.Text (st) import Build (recompDeps, getDeps,findHaskellFiles) +import Control.Monad (unless) #if __GLASGOW_HASKELL__ >= 700 #define ST st @@ -79,7 +81,8 @@ devel isDevel = do , "--disable-library-profiling" ] - T.writeFile "dist/devel.hs" (develFile pid) + exists <- doesFileExist "dist/devel.hs" + unless exists $ T.writeFile "dist/devel.hs" (develFile pid) mainLoop isDevel @@ -169,7 +172,10 @@ main :: IO () main = do putStrLn "Starting devel application" wdap <- (return . fromJust . fromDynamic) withDevelAppPort - forkIO . wdap $ \(port, app) -> run port app + forkIO . wdap $ \(port, app) -> runSettings defaultSettings + { settingsPort = port + , settingsHost = "0.0.0.0" + } app loop loop :: IO ()