Added proxy timeout to yesod devel flags

This commit is contained in:
Kirilll Zaborsky 2013-02-07 10:17:10 +04:00
parent d483523636
commit 368570efc1
2 changed files with 7 additions and 3 deletions

View File

@ -107,13 +107,14 @@ data DevelOpts = DevelOpts
, failHook :: Maybe String
, buildDir :: Maybe String
, develPort :: Int
, proxyTimeout :: Int
} deriving (Show, Eq)
getBuildDir :: DevelOpts -> String
getBuildDir opts = fromMaybe "dist" (buildDir opts)
defaultDevelOpts :: DevelOpts
defaultDevelOpts = DevelOpts False False False (-1) Nothing Nothing Nothing 3000
defaultDevelOpts = DevelOpts False False False (-1) Nothing Nothing Nothing 3000 10
-- | Run a reverse proxy from port 3000 to 3001. If there is no response on
-- 3001, give an appropriate message to the user.
@ -127,7 +128,7 @@ reverseProxy opts iappPort = do
return $ Right $ ProxyDest "127.0.0.1" appPort)
def
{ wpsOnExc = onExc
, wpsTimeout = Just 10000000
, wpsTimeout = Just (1000000 * proxyTimeout opts)
}
manager
putStrLn "Reverse proxy stopped, but it shouldn't"

View File

@ -58,6 +58,7 @@ data Command = Init
, develIgnore :: [String]
, develExtraArgs :: [String]
, _develPort :: Int
, _proxyTimeout :: Int
}
| Test
| AddHandler
@ -95,7 +96,7 @@ main = do
Configure -> cabal ["configure"]
Build es -> touch' >> cabal ("build":es)
Touch -> touch'
Devel da s f r b _ig es p -> devel (DevelOpts (optCabalPgm o == CabalDev) da (optVerbose o) r s f b p) es
Devel da s f r b _ig es p t -> devel (DevelOpts (optCabalPgm o == CabalDev) da (optVerbose o) r s f b p t) es
Keter noRebuild -> keter (cabalCommand o) noRebuild
Version -> do putStrLn ("yesod-core version:" ++ yesodVersion)
putStrLn ("yesod version:" ++ showVersion Paths_yesod.version)
@ -152,6 +153,8 @@ develOptions = Devel <$> switch ( long "disable-api" <> short 'd'
<*> extraCabalArgs
<*> option ( long "port" <> short 'p' <> value 3000 <> metavar "N"
<> help "Devel server listening port" )
<*> option ( long "proxy-timeout" <> short 'x' <> value 10 <> metavar "N"
<> help "Devel server timeout before returning 'not ready' message (in seconds)" )
extraCabalArgs :: Parser [String]
extraCabalArgs = many (strOption ( long "extra-cabal-arg" <> short 'e' <> metavar "ARG"