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]
fn deserialize_bytes<'de, T: Deserialize<'de>>(
&self,
input: &[u8]
) -> Result<T, Error>
&self,
input: &[u8]
) -> Result<T, Error>
fn deserialize_str<'de, T: Deserialize<'de>>(
&self,
input: &str
) -> Result<T, Error>
&self,
input: &str
) -> Result<T, Error>
fn deserialize_reader<'de, T, R>(&self, reader: R) -> Result<T, Error> where
T: Deserialize<'de>,
R: Read,
T: Deserialize<'de>,
R: Read,