Expand description
Serialize/Deserialize for http::HeaderValue
use std::{cmp::Ord, collections::*, hash::Hash};
use http::HeaderValue;
use serde::{Serialize, Deserialize};
#[derive(Serialize, Deserialize)]
struct MyStruct<T, U>
where
U: Serialize + for<'a> Deserialize<'a>,
T: Serialize + for<'a> Deserialize<'a> + Hash + Ord,
{
#[serde(with = "http_serde_ext::header_value")]
base: HeaderValue,
#[serde(with = "http_serde_ext::header_value::option", default)]
option: Option<HeaderValue>,
#[serde(with = "http_serde_ext::header_value::result")]
result: Result<HeaderValue, U>,
#[serde(with = "http_serde_ext::header_value::vec")]
vec: Vec<HeaderValue>,
#[serde(with = "http_serde_ext::header_value::vec_deque")]
vec_deque: VecDeque<HeaderValue>,
#[serde(with = "http_serde_ext::header_value::linked_list")]
linked_list: LinkedList<HeaderValue>,
#[serde(with = "http_serde_ext::header_value::hash_map")]
hash_map: HashMap<T, HeaderValue>,
#[serde(with = "http_serde_ext::header_value::hash_map_key")]
hash_map_key: HashMap<HeaderValue, U>,
#[serde(with = "http_serde_ext::header_value::btree_map")]
btree_map: BTreeMap<T, HeaderValue>,
#[serde(with = "http_serde_ext::header_value::btree_map_key")]
btree_map_key: BTreeMap<HeaderValue, U>,
#[serde(with = "http_serde_ext::header_value::hash_set")]
hash_set: HashSet<HeaderValue>,
#[serde(with = "http_serde_ext::header_value::btree_set")]
btree_set: BTreeSet<HeaderValue>,
}