packages feed

wai-make-assets-0.1.1: src/wai-make-assets.hs

{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE ViewPatterns #-}

import           Data.Maybe
import           Network.Wai.Handler.Warp
import           System.IO
import           WithCli

import           Network.Wai.MakeAssets

data Args
  = Args {
    port :: Maybe Int
  }
  deriving (Generic)

instance HasArguments Args

main :: IO ()
main = withCliModified [AddShortOption "port" 'p'] $
  \ (Args (fromMaybe 8000 -> port)) -> do
    let settings =
          setPort port $
          setBeforeMainLoop (hPutStrLn stderr
            ("listening to " ++ show port ++ "...")) $
          defaultSettings
    runSettings settings =<< serveAssets