packages feed

wai-handler-devel-0.0.1: wai-handler-devel.hs

{-# LANGUAGE DeriveDataTypeable #-}
import Network.Wai.Handler.DevelServer (run)
import System.Console.CmdArgs
import Control.Concurrent (forkIO)

data Devel = Devel
    { port :: Int
    , moduleName :: String
    , function :: String
    }
    deriving (Show, Data, Typeable)

main :: IO ()
main = do
    Devel p m f <- cmdArgs Devel
        { port = 3000 &= argPos 0 &= typ "PORT"
        , moduleName = "" &= argPos 1 &= typ "MODULE"
        , function = "" &= argPos 2 &= typ "FUNCTION"
        } &= summary "WAI development web server"
    forkIO $ run p m f
    go
  where
    go = do
        x <- getLine
        case x of
            'q':_ -> putStrLn "Quitting, goodbye!"
            _ -> go