{-# LANGUAGE NoImplicitPrelude #-}

module Web.Geek.ServeWithSnapServer where

import Air.Env
import Hack2
import Hack2.Handler.SnapServer
import Web.Geek.DemoMiddlewareStack
import Web.Geek.Serve (serve)
import Web.Geek.Type
import qualified Data.Default as Default

serve_with_snap_server :: [MarkupEngine] -> IO ()
serve_with_snap_server markup_engines = 
  let
    server_backend _app _port =
      runWithConfig Default.def {port = _port} _app
  in
  
  serve markup_engines demo_middleware_stack server_backend