import {
"q2316367743/moonhttp/http_error",
}| 方法 | 说明 |
|---|---|
| code() | 错误分类(ErrorCode) |
| message() | 面向人的错误描述 |
| config() | 触发错误的配置(已完成合并),便于定位是哪一项配置不对 |
| response() | 已经收到的响应:状态码校验失败时是完整响应;传输层失败发生在响应头之后时是失败前的部分(响应体可能只有半截);连响应头都没收到时 None |
| is_cancelled() | 是否被取消信号叫停(对应 axios 的 axios.isCancel) |
| new(message, code, config) | 不带响应地造一个错误——给请求拦截器主动中止请求用 |
try {
ignore(api.request(config))
} catch {
@moonhttp.HttpError::HttpError(info) => {
println(info.code)
println(info.message)
}
}client.request(config) catch {
error if error.is_cancelled() => println("已取消:" + error.message())
error => println(error.to_string())
}.use_request(config => {
if token == "" {
raise @moonhttp.HttpError::new("缺少 token", @moonhttp.ErrorCode::BadRequest, config)
}
config.with_header("Authorization", token)
})Install
Download zipaxios 风格的 MoonBit HTTP 客户端:实例与配置合并、四种请求体形态、流式与 SSE、自动重定向