{-# LANGUAGE NoImplicitPrelude #-}


module Web.Geek.DemoMiddlewareStack where

import Air.Env
import Data.Map (toAscList)
import Hack2
import Hack2.Contrib.Middleware.BounceFavicon (bounce_favicon) 
import Hack2.Contrib.Middleware.SimpleAccessLogger (simple_access_logger)
import Hack2.Contrib.Middleware.UserMime (user_mime)
import Hack2.Contrib.Middleware.XForwardedForToRemoteHost (x_forwarded_for_to_remote_host)
import Hack2.Contrib.Mime

debug :: Middleware
debug app env = do
  puts - show env
  app env

demo_middleware_stack :: [Middleware]
demo_middleware_stack = 
  [
    bounce_favicon
  , x_forwarded_for_to_remote_host
  -- , debug
  , simple_access_logger Nothing
  , user_mime (mime_types.toAscList)
  ]