ev-glaze-expected-parse-url-003¶
| 字段 | 值 |
|---|---|
| 项目 | stephenberry/glaze |
| 固定 commit | d78832c82289 |
| 路径 | include/glaze/net/http_client.hpp |
| 行段 | L423-L428 |
| 特性 | std::expected |
| 许可证 | MIT |
| 代码来源 | 项目源码 |
| 级别 | manual |
| 审核 | zyuhao7 @ 2026-10-29 |
| 测试代码 | 否 |
| 发现方式 | regex |
用法¶
URL 解析失败时返回 std::unexpected
为什么典型¶
用标准 error_code 作为错误类型,避免自定义错误类,同时让调用方在同一返回通道处理解析失败。
摘录¶
inline std::expected<url_parts, std::error_code> parse_url(std::string_view url)
{
// Check minimum length
if (url.size() < 8) { // Minimum for "http://" + 1 char host
return std::unexpected(std::make_error_code(std::errc::invalid_argument));
}
备注¶
生产路径:Glaze 的 HTTP 客户端 URL 解析。