{-# LANGUAGE NoMonomorphismRestriction#-} module Hack.Handler.Kibro where import Hack import Kibro import Network.CGI hiding (Html) import Data.Default import Prelude hiding ((.)) import MPS get_env = do request_method' <- requestMethod script_name' <- scriptName path_info' <- pathInfo query_string' <- queryString server_name' <- serverName server_port' <- serverPort def { request_method = request_method'.read, script_name = script_name', path_info = path_info', query_string = query_string', server_name = server_name', server_port = server_port' } .return handle app = do env <- get_env response <- app env .liftIO -- set response response.headers.mapM_ (splash setHeader) response.status.show.setHeader "Status" response.body.output run app = startKibro [("", handle app)]