5 个稳定版本
2.0.1 | 2021 年 8 月 31 日 |
---|---|
1.0.2 | 2021 年 8 月 31 日 |
#814 在 解析器实现
1,632 每月下载量
在 4 个crate中使用 (2 直接使用)
15KB
152 行
vcr-cassette
用于 VCR Cassette 格式的序列化和反序列化器
示例
给定以下 .json
VCR Cassette 记录
{
"http_interactions": [
{
"request": {
"uri": "https://127.0.0.1:7777/foo",
"body": "",
"method": "get",
"headers": { "Accept-Encoding": [ "identity" ] }
},
"response": {
"body": "Hello foo",
"http_version": "1.1",
"status": { "code": 200, "message": "OK" },
"headers": {
"Date": [ "Thu, 27 Oct 2011 06:16:31 GMT" ],
"Content-Type": [ "text/html;charset=utf-8" ],
"Content-Length": [ "9" ],
}
},
"recorded_at": "Tue, 01 Nov 2011 04:58:44 GMT"
},
],
"recorded_with": "VCR 2.0.0"
}
我们可以使用 serde_json
来反序列化它
use std::fs;
use vcr_cassette::Cassette;
let example = fs::read_to_string("tests/fixtures/example.json").unwrap();
let cassette: Cassette = serde_json::from_str(&example).unwrap();
要反序列化 .yaml
Cassette 文件,请使用 serde_yaml
代替。
安装
$ cargo add vcr-cassette
安全性
此crate使用 #![deny(unsafe_code)]
确保所有内容都在 100% 安全的 Rust 中实现。
贡献
想要加入我们吗?查看我们的 "贡献" 指南 并查看一些这些问题
许可
根据您的选择,受Apache 许可证,版本 2.0 或 MIT 许可证的许可。除非您明确表示,否则根据 Apache-2.0 许可证定义的,您有意提交以包含在此 crate 中的任何贡献,都将按上述方式双重许可,不附加任何额外条款或条件。
依赖项
~2.3–3.5MB
~89K SLoC