Expand description
The Sanitizer crate helps in sanitizing structured data by providing macros and data structures to perform sanitization on fields.
Sanitizer uses heck to allow case conversions
§Example
If you want your incoming data which is serialised to a structure to be sanitized then first of all, you make a struct and derive the Sanitize trait on it. The macro will implement the trait for you all you have to do now is to call the sanitize method on the trait
use sanitizer::prelude::*;
#[derive(Sanitize)]
struct User {
#[sanitize(trim)]
name: String,
#[sanitize(trim, lower_case)]
email: String
}
fn main() {
let mut instance = User {
name: String::from(" John Doe123 "),
email: String::from(" JohnDoe123@email.com")
};
instance.sanitize();
assert_eq!(instance.name, "John Doe123");
assert_eq!(instance.email, "johndoe123@email.com");
}
To see a list of available sanitizers, check the sanitizer-macros crate
Modules§
- prelude
- Bring all the sanitizers, the derive macro, and the Sanitize trait in scope
Structs§
- IntSanitizer
- Sanitizer methods for ints
The IntSanitizer structure is a wrapper over a type T which is to
be sanitized, T can be anything that’s
PartialOrd
- String
Sanitizer - Sanitizer methods for strings The Sanitizer structure is a wrapper over a String type which is to be sanitized.
Traits§
- Sanitize
- The Sanitize trait generalises types that are to be sanitized.