pub fn deserialize_with_limits<'de, D>(
deserializer: D,
limits: &Limits,
) -> Result<LimitedResult<WafObject>, D::Error>where
D: Deserializer<'de>,Expand description
Deserialize a WafObject from a deserializer with the specified limits.
Returns a LimitedResult containing the deserialized value and whether
truncation occurred.
§Example
use libddwaf::serde::{Limits, deserialize_with_limits};
use libddwaf::object::WafObject;
let json = r#"{"key": "value"}"#;
let limits = Limits {
max_string_length: 3,
max_depth: 10,
max_elements: 100,
};
let mut deserializer = serde_json::Deserializer::from_str(json);
let result = deserialize_with_limits(&mut deserializer, &limits).unwrap();
assert!(result.truncated); // "value" was truncated to "val"§Errors
Returns an error if the deserializer returns an error.