Added XML documentation to extension and handler classes for improved maintainability. Refactored repository access to use .Query instead of .ReadOnly() for consistency. Updated async extension methods for better readability and error handling.
43 lines
1.3 KiB
C#
43 lines
1.3 KiB
C#
using Ganss.Xss;
|
|
using Microsoft.Extensions.Localization;
|
|
using System.Text.Encodings.Web;
|
|
|
|
namespace EnvelopeGenerator.Application.Common.Extensions;
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public static class XSSExtensions
|
|
{
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="value"></param>
|
|
/// <param name="encoder"></param>
|
|
/// <returns></returns>
|
|
public static string? TryEncode(this string? value, UrlEncoder encoder) => value is null ? value : encoder.Encode(value);
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="value"></param>
|
|
/// <param name="encoder"></param>
|
|
/// <returns></returns>
|
|
public static string? TryEncode(this LocalizedString? value, UrlEncoder encoder) => value is null ? null : encoder.Encode(value);
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="html"></param>
|
|
/// <param name="sanitizer"></param>
|
|
/// <returns></returns>
|
|
public static string? TrySanitize(this string? html, HtmlSanitizer sanitizer) => html is null ? html : sanitizer.Sanitize(html);
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="html"></param>
|
|
/// <param name="sanitizer"></param>
|
|
/// <returns></returns>
|
|
public static string? TrySanitize(this LocalizedString? html, HtmlSanitizer sanitizer) => html is null ? null : sanitizer.Sanitize(html);
|
|
} |