- Bestehende Sanitization überarbeitet. - Injektionsmethode für flexible Konfiguration implementiert. - Wichtige Abschnitte in `show-envelope` hervorgehoben.
17 lines
634 B
C#
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;
|
|
});
|
|
}
|
|
} |