Module http_serde_ext::scheme

source ·
Expand description

Serialize/Deserialize for http::uri::Scheme

use std::{cmp::Ord, collections::*, hash::Hash};

use http::uri::Scheme;
use serde::{Serialize, Deserialize};

#[derive(Serialize, Deserialize)]
struct MyStruct<T>
where
    T: Serialize + for<'a> Deserialize<'a> + Hash + Ord,
{
    #[serde(with = "http_serde_ext::scheme")]
    base: Scheme,

    #[serde(with = "http_serde_ext::scheme::option")]
    option: Option<Scheme>,

    #[serde(with = "http_serde_ext::scheme::vec")]
    vec: Vec<Scheme>,

    #[serde(with = "http_serde_ext::scheme::vec_deque")]
    vec_deque: VecDeque<Scheme>,

    #[serde(with = "http_serde_ext::scheme::linked_list")]
    linked_list: LinkedList<Scheme>,

    #[serde(with = "http_serde_ext::scheme::hash_map")]
    hash_map: HashMap<T, Scheme>,

    #[serde(with = "http_serde_ext::scheme::btree_map")]
    btree_map: BTreeMap<T, Scheme>,
}

Modules

Functions