【发布时间】:2018-05-20 01:17:52
【问题描述】:
我正在运行 Spock 服务器并希望提供一些静态内容。
我正在使用“Web.Spock.Action”包中的respondMiddleware 函数。
签名是:
respondMiddleware :: Monad m => Middleware -> ActionCtxT ctx m a
我正在使用“Network.Wai.Middleware.Static”包中的staticPolicy 函数获取这个“中间件”
staticPolicy :: Policy -> Middleware
以及使用“Network.Wai.Middleware.Static”包中的addBase 的“策略”
addBase :: String -> Policy
这是我的代码块:
get ("/") $
respondMiddleware $ staticPolicy $ addBase ("static")
static 有一个index.html 和相关的 JS 和 CSS 文件,它放在 stack 项目的根目录下。我得到的错误是Failed to load resource: the server responded with a status of 400 (Bad Request)
【问题讨论】:
-
自从我使用 Spock 已经有一段时间了,所以这可能是错误的:RouteSpec 中的路径
"/"没有通配符,所以我认为它只会匹配 正是/。我怀疑你想要的是middleware $ staticPolicy $ addBase "static"。
标签: haskell server haskell-stack static-content haskell-spock