packages feed

wai-middleware-consul-0.1.0.0: example/Main.hs

{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE OverloadedStrings #-}

import BasePrelude
import Control.Monad.IO.Class ( MonadIO(liftIO) )
import Control.Monad.Logger ( runStdoutLoggingT )
import Network.Wai.Application.Static
    ( staticApp, defaultWebAppSettings )
import Network.Wai.Handler.Warp ( run )
import Network.Wai.Middleware.Consul ( withConsul )
import Network.Wai.Middleware.Consul.GitHub ( gitHubPullOnWebhook )
import Network.Wai.Middleware.RequestLogger ( logStdoutDev )

main :: IO ()
main =
  runStdoutLoggingT
    (void (withConsul
             gitHubPullOnWebhook
             (\middleware ->
                liftIO (run 8080
                            (logStdoutDev $
                             middleware $
                             staticApp $
                             defaultWebAppSettings ".")))))