import qualified Data.ByteString.Lazy.Char8 as B import CodeMushu.Env import Prelude () import Hack.Contrib.Utils (escape_html) import MPS.Extra import CodeMushu.Repo import CodeMushu.Server -- import Hack.Handler.SimpleServer import Hack.Handler.Happstack import Control.Concurrent.STM import qualified Data.Map as M import Hack.Contrib.Middleware.Inspect import Hack.Contrib.Utils import Hack.Contrib.Response (set_content_type) import qualified Data.Default as Default middleware_stack = [ -- inspect \app env -> jailed (putStrLn (env.path_info)) >> app env , text_sqlite ] text_sqlite app = \env -> if env.path_info.starts_with "/repo/download/" then do r <- app env return - r.set_content_type "text/sqlite" else app env run' = runWithConfig Default.def {port = 6001} main = do putStrLn - "server started..." repo_state <- newTVarIO def run' - use middleware_stack - code_mushu_app repo_state