首页 > 解决方案 > 创建自定义 happstack 响应代码

问题描述

我一直在尝试创建自定义happstack响应,405 "Method not allowed"因此如果有人API使用POSTorPUT方法调用,他们将得到此响应。我是新手happstack。任何想法我该怎么做?

标签: haskellhappstack

解决方案


那么该ok :: (FilterMonad Response m) => a -> m a功能实现为[src]

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

因此,它与您编写ok响应的方式相同,只是您应该使用resp :: (FilterMonad Response m) => Int -> b -> m b自定义返回码。

例如:

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"
         ]

推荐阅读