所以,我想向我的服务服务器添加两个 wai 中间件。一种用于提供静态文件的中间件,一种用于日志记录的中间件。
我定义了我的 api ( router),这就是我启动服务器的方式:
webServer :: IO ()
webServer = run 80 (middleware $ router)
这就是我如何定义我的middleware:
middleware :: Application -> Application
middleware = do
logStdoutDev
staticPolicy $ addBase "static"
现在,如果我把它logStdoutDev放在第一位,我就不能提供静态文件,但是如果我把它staticPolicy放在第一位,我就可以提供静态文件,但是我失去了记录事件的能力(基本上它们被忽略了)。
问题真的是,如何wai在servant中正确组合中间件。