Скважина ok :: (FilterMonad Response m) => a -> m a
реализована как [источник] :
ok :: (FilterMonad Response m) => a -> m a
ok = resp 200
То же самое, что вы бы написали ответ ok
, за исключением того, что вы должны использовать resp :: (FilterMonad Response m) => Int -> b -> m b
с пользовательским кодом возврата.
Например:
resp 405 "Method not allowed"
Таким образом, мы можем, например, заблокировать PUT
и POST
запросы с чем-то вроде:
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"
]