3个稳定版本
1.0.2 | 2024年6月6日 |
---|
#1669 in 网络编程
35KB
505 行
HTTP Codex
HTTP Codex是一个用于安全地管理HTTP状态码的库。这个库是为了在项目中使用而编写的,主要是因为我没有找到任何现成的库能满足我的需求。我将其发布在这里,以防其他人对它感兴趣。
枚举类型
HTTP 状态码
第一个枚举类型是 HttpCode
,它包含所有已知的HTTP状态码。您可以将整数和Option中的整数转换为该枚举类型。如果状态码未知,则创建一个 HttpCode::Unknown
变体,如果提供Option::None,则创建一个 HttpCode::None
。
use http_codex::HttpCode;
let code = HttpCode::from(307);
assert!(matches!(code, HttpCode::TemporaryRedirect));
let code = HttpCode::from(Some(410));
assert!(matches!(code, HttpCode::Gone));
HTTP 状态码类
第二个枚举类型是 HttpCodeClass
,它包含所有类,这样您就不必检查状态码的数值是否在某个范围内。您可以将 HttpCode
轻松地转换为 HttpCodeClass
。
use http_codex::HttpCode;
use http_codex::HttpCodeClass;
let code = HttpCode::from(302);
let class = HttpCodeClass::from(code);
assert!(matches!(class, HttpCodeClass::Redirection));