创建自定义 happstack 响应代码

Create a custom happstack response code

我一直在尝试创建一个自定义 happstack 响应 405 "Method not allowed" 所以如果有人用 POSTPUT 方法调用 API 他们会得到这个回应。我是 happstack 的新手。我有什么想法可以做到吗?

ok :: (FilterMonad Response m) => a -> m a function is implemented as [src]:

ok :: (FilterMonad Response m) => a -> m a
ok = resp 200

所以这与您编写 ok 响应的方式相同,只是您应该将 resp :: (FilterMonad Response m) => Int -> b -> m b 与自定义 return 代码一起使用。

例如:

resp 405 "Method not allowed"

因此我们可以例如阻止 PUTPOST 请求,例如:

main :: IO ()
main = simpleHTTP nullConf $ msum
         [ do method GET
              ok $ "This is allowed.\n"
         , do method PUT
              (resp 405) $ "Method not allowed"
         , do method POST
              (resp 405) $ "Method not allowed"
         ]