在F#中返回一个带有Suave的自定义错误



在Suave文档中,我在哪里可以找到返回http错误并将消息作为纯文本错误的方法?

我一直在看,但我就是找不到浏览文档的方法,因为它的结构只是一些例子。

我想做的是:

if thingsGoWell then
OK myResult
else
ERROR someHttpStatusCode myString

我知道我可以使用预设,比如

INTERNAL_ERROR "hello"

但我希望能够传递我自己的HttpStatusCode。

我刚开始使用Suave,到目前为止我喜欢这些概念,但我真的很难适应文档风格。

我认为您正在寻找基本的response函数:

val response : statusCode:HttpCode -> content:byte [] -> WebPart

文档在这里。用法如下:

response HTTP_501 (UTF8.bytes message)

我同意你的看法,即Suave的文档不太好。就我个人而言,我经常通过简单地查看源代码来回答这样的问题。我有一个本地副本,我已经克隆并构建了它。事实上,这很容易。

例如,在这种情况下,我搜索";INTERNAL_ ERROR";,因为你给出了一个提示,并发现了这个实现:

let internal_error arr = response HTTP_500 arr
let INTERNAL_ERROR message = internal_error (UTF8.bytes message)

由此,我能够为你的问题构建一个答案,然后在谷歌上搜索相关文档。

最新更新