Developer 02 43ae15b71c Refaktorierung für HTML-Sanitization mit neuer Sanitizer-Klasse.
- Bestehende Sanitization überarbeitet.
- Injektionsmethode für flexible Konfiguration implementiert.
- Wichtige Abschnitte in `show-envelope` hervorgehoben.
2024-07-18 10:52:39 +02:00

17 lines
634 B
C#

using Ganss.Xss;
using Microsoft.Extensions.DependencyInjection;
namespace EnvelopeGenerator.Web.Sanitizers
{
public static class DIExtensions
{
public static IServiceCollection AddSanitizer<THtmlSanitizer>(this IServiceCollection services, Action<THtmlSanitizer>? optionActions = null)
where THtmlSanitizer : HtmlSanitizer => services
.AddSingleton(serviceProvider =>
{
var sanitizer = ActivatorUtilities.CreateInstance<THtmlSanitizer>(serviceProvider);
optionActions?.Invoke(sanitizer);
return sanitizer;
});
}
}