diff options
author | Sam Scott <sam.scott89@gmail.com> | 2017-05-21 11:47:00 +0100 |
---|---|---|
committer | Sam Scott <sam.scott89@gmail.com> | 2017-05-21 11:47:00 +0100 |
commit | ba5e0b32b71f7f79915d671e64d19bf9f2bcf422 (patch) | |
tree | 012ba94bdfc7f4e934301851364beadae47d567b /src/de | |
parent | 661cc9697a1c31abe786e45e43072800b6641871 (diff) |
Updates to documentation.
Diffstat (limited to 'src/de')
-rw-r--r-- | src/de/mod.rs | 26 | ||||
-rw-r--r-- | src/de/parse.rs | 8 |
2 files changed, 17 insertions, 17 deletions
diff --git a/src/de/mod.rs b/src/de/mod.rs index 267b4cb..94c66e1 100644 --- a/src/de/mod.rs +++ b/src/de/mod.rs @@ -5,11 +5,9 @@ mod parse; pub use de::parse::Config; use data_encoding; -use data_encoding::base64; use serde::de; use serde::de::IntoDeserializer; -use serde::de::value::MapDeserializer; use url::percent_encoding; @@ -118,7 +116,7 @@ pub fn from_reader<'de, T, R>(mut reader: R) -> Result<T> /// A deserializer for the querystring format. /// /// Supported top-level outputs are structs and maps. -pub struct Deserializer { +pub struct QsDeserializer { iter: IntoIter<String, Level>, value: Option<Level>, } @@ -131,15 +129,15 @@ pub enum Level { Invalid(&'static str), } -impl Deserializer { +impl QsDeserializer { fn with_map(map: BTreeMap<String, Level>) -> Self { - Deserializer { + QsDeserializer { iter: map.into_iter(), value: None, } } - /// Returns a new `Deserializer`. + /// Returns a new `QsDeserializer`. fn with_config(config: &Config, input: &[u8]) -> Self { let decoded = percent_encoding::percent_decode(input); parse::Parser::new(decoded, vec![], None, config.max_depth()).to_deserializer() @@ -147,7 +145,7 @@ impl Deserializer { } } -impl<'de> de::Deserializer<'de> for Deserializer { +impl<'de> de::Deserializer<'de> for QsDeserializer { type Error = Error; fn deserialize_any<V>(self, visitor: V) -> Result<V::Value> @@ -266,7 +264,7 @@ impl<'de> de::Deserializer<'de> for Deserializer { // use serde::de::IntoDeserializer; // use serde::de::value::SeqDeserializer; -impl<'de> de::MapAccess<'de> for Deserializer { +impl<'de> de::MapAccess<'de> for QsDeserializer { type Error = Error; @@ -292,7 +290,7 @@ impl<'de> de::MapAccess<'de> for Deserializer { } } -impl<'de> de::EnumAccess<'de> for Deserializer { +impl<'de> de::EnumAccess<'de> for QsDeserializer { type Error = Error; type Variant = LevelDeserializer; @@ -406,16 +404,16 @@ macro_rules! deserialize_primitive { } impl LevelDeserializer { - fn to_deserializer(self) -> Result<Deserializer> { + fn to_deserializer(self) -> Result<QsDeserializer> { match self.0 { Level::Nested(map) => { - Ok(Deserializer::with_map(map)) + Ok(QsDeserializer::with_map(map)) }, Level::Invalid(e) => { Err(de::Error::custom(e)) } l => { - Err(de::Error::custom(format!("could not convert {:?} to Deserializer", l))) + Err(de::Error::custom(format!("could not convert {:?} to QsDeserializer", l))) }, } } @@ -429,7 +427,7 @@ impl<'de> de::Deserializer<'de> for LevelDeserializer { { match self.0 { Level::Nested(_) => { - // Deserializer::with_map(map).deserialize_map(visitor) + // QsDeserializer::with_map(map).deserialize_map(visitor) self.deserialize_map(visitor) }, Level::Sequence(_) => { @@ -487,7 +485,7 @@ impl<'de> de::Deserializer<'de> for LevelDeserializer { { match self.0 { Level::Nested(map) => { - Deserializer::with_map(map).deserialize_enum(name, variants, visitor) + QsDeserializer::with_map(map).deserialize_enum(name, variants, visitor) }, Level::Flat(_) => { visitor.visit_enum(self) diff --git a/src/de/parse.rs b/src/de/parse.rs index 7a647db..1f91f07 100644 --- a/src/de/parse.rs +++ b/src/de/parse.rs @@ -10,6 +10,8 @@ use super::*; /// to prevent denial of service attacks by providing incredibly deeply nested /// inputs. /// +/// The default value for `max_depth` is 5. +/// /// ``` /// use serde_qs::de::Config; /// use std::collections::HashMap; @@ -53,7 +55,7 @@ impl Config { pub fn deserialize_bytes<'de, T: de::Deserialize<'de>>(&self, input: &[u8]) -> Result<T> { - T::deserialize(Deserializer::with_config(self, input)) + T::deserialize(QsDeserializer::with_config(self, input)) } pub fn deserialize_str<'de, T: de::Deserialize<'de>>(&self, @@ -129,7 +131,7 @@ impl<I: Iterator<Item = u8>> Parser<I> { } } - pub fn to_deserializer(mut self) -> Deserializer { + pub fn to_deserializer(mut self) -> QsDeserializer { let map = BTreeMap::default(); let mut root = Level::Nested(map); while let Ok(x) = self.parse(&mut root) { @@ -141,7 +143,7 @@ impl<I: Iterator<Item = u8>> Parser<I> { Level::Nested(map) => map.into_iter(), _ => panic!(""), }; - Deserializer { + QsDeserializer { iter: iter, value: None, } |