source-code-server-2010.9.1: src/CodeMushu/Driver/Server.hs
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