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
response.headers.mapM_ (splash setHeader)
response.status.show.setHeader "Status"
response.body.output
run app = startKibro [("", handle app)]