对不起我的基本问题,但我是Haskell的新手。
我正在遵循此示例以从请求正文中接收一些值,但是我的服务器还使用以下代码从目录中提供静态文件:
fileServing :: ServerPart Response
fileServing = serveDirectory EnableBrowsing ["index.html"] "./Path/"
mainFunc = simpleHTTP nullConf $ msum [
fileServing
]
我在库中添加了以下代码,但我不确定在哪里使用handlers
函数,因为我已经在mainFunc
中有msum
。
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)
fileServing
, myGetData
, msum [fileServing]
, msum [myGetData]
和 handlers
都具有ServerPart Response
类型,这是您在mainFunc
中传递给simpleHTTP nullConf
的类型。就是这样,您可能想要...
mainFunc = simpleHTTP nullConf handlers
-- etc.
handlers :: ServerPart Response
handlers =
do decodeBody myPolicy
msum [ fileServing
, myGetData
]
msum
在这里将处理程序列表组合到一个处理程序中(请注意,这也意味着带有单个处理程序的列表上的msum
是多余的(。