Crates.io | vcr-cassette |
lib.rs | vcr-cassette |
version | 2.0.1 |
source | src |
created_at | 2021-08-31 11:51:46.842227 |
updated_at | 2021-08-31 12:03:35.353972 |
description | Serializer and deserializer for the VCR Cassette format |
homepage | |
repository | https://github.com/http-rs/vcr-cassette |
max_upload_size | |
id | 445070 |
size | 49,142 |
Given the following .json
VCR Cassette recording:
{
"http_interactions": [
{
"request": {
"uri": "http://localhost: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"
}
We can deserialize it using 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();
To deserialize .yaml
Cassette files use
serde_yaml
instead.
$ cargo add vcr-cassette
This crate uses #![deny(unsafe_code)]
to ensure everything is implemented in
100% Safe Rust.
Want to join us? Check out our "Contributing" guide and take a look at some of these issues: