module Main where import Happstack.Server import Hack.Frontend.Happstack import Hack.Handler.Happstack import Hack.Contrib.Utils import Hack.Contrib.Request hiding (content_type) import Hack.Contrib.Response import Hack.Contrib.Middleware.ContentType import Hack.Contrib.Middleware.ContentLength import Hack.Contrib.Middleware.ShowExceptions import Hack.Contrib.Middleware.ShowStatus import Hack.Contrib.Middleware.Static import Hack.Contrib.Middleware.Lucky import Hack.Contrib.Middleware.Lambda import Hack.Contrib.Middleware.SimpleAccessLogger import Hack.Contrib.Middleware.BounceFavicon import Hack.Contrib.Middleware.ETag import Hack.Contrib.Middleware.Inspect import Hack.Contrib.Middleware.Debug import qualified Hack.Contrib.Middleware.Head as H import MPS import Prelude hiding ((.)) import Data.Default default_content_type = "text/plain; charset=UTF-8" middleware_stack = [ dummy_middleware -- filter , bounce_favicon -- setup --, parse_multipart -- debug -- , inspect , debug (\e r -> e.inputs.print) -- completeness , content_length , content_type default_content_type -- , etag -- debuging , show_exceptions Nothing , show_status -- optimization -- , H.head -- log -- , simple_access_logger Nothing -- for fun , lucky , lambda -- static serve , static (Just "db/public") ["/theme", "/images", "/plugin", "/favicon.ico"] -- real app ] impl = anyRequest $ ok $ toResponse "hello world" app = use middleware_stack (serverPartToApp impl) main = run app