From 51408e52edf19d494252e738aabc6a3a460aea9e Mon Sep 17 00:00:00 2001 From: Simon Michael Date: Fri, 30 Mar 2012 19:31:53 +0000 Subject: [PATCH] web: make "yesod devel" work --- hledger-web/devel.hs | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 hledger-web/devel.hs diff --git a/hledger-web/devel.hs b/hledger-web/devel.hs new file mode 100644 index 000000000..788895afe --- /dev/null +++ b/hledger-web/devel.hs @@ -0,0 +1,36 @@ +{-# LANGUAGE PackageImports #-} +import "hledger-web" Hledger.Web.Application (getApplicationDev) +import Network.Wai.Handler.Warp + (runSettings, defaultSettings, settingsPort) +import Control.Concurrent (forkIO) +import System.Directory (doesFileExist, removeFile) +import System.Exit (exitSuccess) +import Control.Concurrent (threadDelay) + +-- import Network.Wai.Middleware.Debug (debugHandle) +-- import Yesod.Logger (logString, logLazyText, flushLogger, makeLogger) + +main :: IO () +main = do + putStrLn "Starting devel application" + (port, app) <- getApplicationDev + forkIO $ runSettings defaultSettings + { settingsPort = port + } app + loop + +loop :: IO () +loop = do + threadDelay 100000 + e <- doesFileExist "dist/devel-terminate" + if e then terminateDevel else loop + +terminateDevel :: IO () +terminateDevel = exitSuccess + +-- logString logger $ (show env) ++ " application launched, listening on port " ++ show (appPort c) +-- withApp c logger opts $ run (appPort c) . debugHandle (logHandle logger) +-- flushLogger logger + +-- where +-- logHandle logger msg = logLazyText logger msg >> flushLogger logger