1 个不稳定版本
0.1.0 | 2024年7月25日 |
---|
#172 在 HTTP客户端
138 每月下载量
29KB
507 行
httpdt
HTTP客户端和服务器的时间日期库。
生成用于HTTP Date头部的时间戳,这是HTTP实现所需的唯一格式。
从SystemTime
进行计算,具有清晰性,无外部依赖,并提供对先前生成的时间日期的更新以提高速度。
为什么?
为了简单和全面理解,在实现客户端或服务器时不需要审计更广泛的日期时间包以生成相对简单的输出。
如何?
使用new
方法实例化Datetime
结构体,然后使用for_header
获取'Date'头字段的当前时间戳。
use httpdt::Datetime;
let timestamp = Datetime::new()?
.for_header();
为了减少计算,可以使用初始实例作为连续生成新时间戳的基础,通过使用now
方法。
use httpdt::Datetime;
let dt = Datetime::new()?;
let ts_initial = dt
.for_header();
// ...
let ts_updated = dt
.now()?
.for_header();
default
方法提供了一个对应于Unix纪元的Datetime
实例,而raw
方法则是自纪元以来的秒数。
文档
可以使用以下命令在浏览器中构建和查看文档:
cargo doc --open
修改
修改后运行测试,并添加测试以覆盖新行为是推荐的。
测试
可以使用以下命令运行单元测试和文档示例:
cargo test
每个组件的单元测试用例位于相应源文件底部的测试模块中。
开发计划
以下是代码库开发预期下一步的步骤。中长期目标是清晰、健壮且高效的日期时间资源,以实现更全面的HTTP实现。欢迎对这些和其他潜在改进的拉取请求。
- 实现顶级错误类型
- 重新审视跨组件的整型类型
- 记录并公开单个组件
- 处理时区,允许生成符合通用日志格式的服务器日志条目
- 修订依赖于
SystemTime
的测试 - 扩展测试模块