在 F# 中使用 Suave 返回自定义错误
returning a custom error with Suave, in F#
在 Suave 文档中,我在哪里可以找到 return 带有纯文本错误消息的 http 错误?
我一直在寻找,但我无法通过文档找到我的方法,因为它的结构是到处都是示例。
我想做的是:
if thingsGoWell then
OK myResult
else
ERROR someHttpStatusCode myString
我知道我可以使用预设,比如
INTERNAL_ERROR "hello"
但我希望能够传递我自己的 HttpStatusCode。
我才刚刚开始使用 Suave,到目前为止我喜欢这些概念,但我真的很难适应文档风格。
我认为您正在寻找基本的 response
函数:
val response : statusCode:HttpCode -> content:byte [] -> WebPart
文档是 here。用法是这样的:
response HTTP_501 (UTF8.bytes message)
我同意你的看法,即 Suave 文档不是很好。就个人而言,我经常通过简单地查看源代码来回答这样的问题,即here。我有一个克隆和构建的本地副本。其实很简单。
例如,在这种情况下,我搜索了“INTERNAL_ERROR”,因为你给出了它作为提示,并找到了这个实现:
let internal_error arr = response HTTP_500 arr
let INTERNAL_ERROR message = internal_error (UTF8.bytes message)
据此,我能够为您的问题构建一个答案,然后还搜索了相关文档。
在 Suave 文档中,我在哪里可以找到 return 带有纯文本错误消息的 http 错误?
我一直在寻找,但我无法通过文档找到我的方法,因为它的结构是到处都是示例。
我想做的是:
if thingsGoWell then
OK myResult
else
ERROR someHttpStatusCode myString
我知道我可以使用预设,比如
INTERNAL_ERROR "hello"
但我希望能够传递我自己的 HttpStatusCode。
我才刚刚开始使用 Suave,到目前为止我喜欢这些概念,但我真的很难适应文档风格。
我认为您正在寻找基本的 response
函数:
val response : statusCode:HttpCode -> content:byte [] -> WebPart
文档是 here。用法是这样的:
response HTTP_501 (UTF8.bytes message)
我同意你的看法,即 Suave 文档不是很好。就个人而言,我经常通过简单地查看源代码来回答这样的问题,即here。我有一个克隆和构建的本地副本。其实很简单。
例如,在这种情况下,我搜索了“INTERNAL_ERROR”,因为你给出了它作为提示,并找到了这个实现:
let internal_error arr = response HTTP_500 arr
let INTERNAL_ERROR message = internal_error (UTF8.bytes message)
据此,我能够为您的问题构建一个答案,然后还搜索了相关文档。