#http #codes #codex #class #management

http_codex

一个简单的HTTP状态码管理库

3个稳定版本

1.0.2 2024年6月6日

#1669 in 网络编程

LGPL-3.0-or-later

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));

无运行时依赖