如何使用 Yesod 设置状态和发送 body?

How to set the status and send a body with Yesod?

我有以下案例。用户需要能够上传电子表格 (csv),但如果有错误(例如应该是整数的值不是数字),我需要将完整的 csv 显示为带有红色的 table无效单元格上的背景。我想将状态设置为 422,但我还没有找到这样做的方法。我发现设置状态的所有方法似乎 "fail" 处理程序 Monad 并且不允许指定消息正文。我期待一个 setStatus 或等效的但我找不到它。有没有办法做到这一点,或者这样做是否违反 Http 协议?

可能您正在寻找

sendResponseStatus :: (MonadHandler m, ToTypedContent c) => Status -> c -> m a.