对不起我的基本问题,但我是Haskell的新手。
我跟随this example从请求正文中接收了一些值,但我的服务器还使用以下代码从目录中提供静态文件:
fileServing :: ServerPart Response
fileServing = serveDirectory EnableBrowsing ["index.html"] "./Path/"
mainFunc = simpleHTTP nullConf $ msum [
fileServing
]
我将以下代码添加到了我的库中,但我不知道在哪里使用handlers
函数,因为msum
中已经有mainFunc
。
handlers :: ServerPart Response
handlers =
do decodeBody myPolicy
msum [
myGetData
]
myGetData :: ServerPart Response
myGetData =
do method POST
username <- look "username"
password <- look "password"
ok $ toResponse (username ++ ", " ++ password)
答案 0 :(得分:1)
fileServing
,myGetData
,msum [fileServing]
,msum [myGetData]
和handlers
都有ServerPart Response
类型,这是您传递的类型到simpleHTTP nullConf
的{{1}}。既然如此,你可能想要......
mainFunc
mainFunc = simpleHTTP nullConf handlers
-- etc.
handlers :: ServerPart Response
handlers =
do decodeBody myPolicy
msum [ fileServing
, myGetData
]
这里将处理程序列表组合到一个处理程序中(请注意,单个处理程序的列表中的msum
也是多余的)。