Struct serde_qs::de::Config [] [src]

pub struct Config { /* fields omitted */ }

To override the default serialization parameters, first construct a new Config.

A max_depth of 0 implies no nesting: the result will be a flat map. This is mostly useful when the maximum nested depth is known beforehand, to prevent denial of service attacks by providing incredibly deeply nested inputs.

use serde_qs::de::Config;
use std::collections::HashMap;

let mut config = Config::default();
config.max_depth(0);
let map: HashMap<String, String> = config.deserialize_str("a[b][c]=1")
                                         .unwrap();
assert_eq!(map.get("a[b][c]").unwrap(), "1");

config.max_depth(10);
let map: HashMap<String, HashMap<String, HashMap<String, String>>> =
            config.deserialize_str("a[b][c]=1").unwrap();
assert_eq!(map.get("a").unwrap().get("b").unwrap().get("c").unwrap(), "1");

Methods

impl Config
[src]

impl Config
[src]

Trait Implementations

impl Default for Config
[src]

Returns the "default value" for a type. Read more