packages feed

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

{-# LANGUAGE DeriveGeneric #-}

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

import           Network.Wai.MakeAssets

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

instance HasArguments Args

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