public void Initialize() { optionCategories.Clear(); var section = configuration.GetSection("Sanitizer"); var key = DefaultCategory; SanitizerOptions = section.Get <SanitizerOptions>(); var sanitizer = new Sanitizer(SanitizerOptions); optionCategories.Add(key, sanitizer); }
public static JToken SanitizeObject(JToken obj, SanitizerOptions options) { void SanitizeObjectInternal(JToken innerObj) { switch (innerObj) { case JObject jObject: var props = jObject.Properties().Select(x => x.Name).ToList(); foreach (var propertyName in props) { var propertyNameLower = propertyName.ToLower(); if (options.RemoveFields != null && options.RemoveFields.Contains(propertyNameLower)) { jObject.Remove(propertyName); } else if (options.ReplaceWithValue != null && options.ReplaceWithValue.TryGetValue(propertyNameLower, out var replacement)) { jObject[propertyName] = replacement; } else { SanitizeObjectInternal(jObject[propertyName]); } } break; case JArray jArray: foreach (var jToken in jArray) { SanitizeObjectInternal(jToken); } break; } } var clone = obj.DeepClone(); SanitizeObjectInternal(clone); return(clone); }
public CreditCardSanitizer() { Options = new SanitizerOptions(); Options.InvalidCharacters = new char[] { '-', ' ' }; }
public Sanitizer(SanitizerOptions options) { this.options = options; htmlSanitizer = new HtmlSanitizer(); ConfigureHtmlSanitizer(); }
public TelephoneSanitizer() { Options = new SanitizerOptions(); Options.InvalidCharacters = new char[] { '-', '(', ')' }; }
public SocialSecuritySanitizer() { Options = new SanitizerOptions(); Options.InvalidCharacters = new char[] { '-' }; }