Bind to IPv4 by default

This commit is contained in:
Michael 2011-12-20 15:57:15 +02:00
parent 430e724eeb
commit 5fdab3b731
2 changed files with 14 additions and 4 deletions

View File

@ -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

View File

@ -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 ()