- Updated namespace for consistency. - Changed constructor and method parameters to non-nullable strings. - Enhanced method signatures for `Sanitize` and `Encoder`. - Improved overall class structure and formatting for better readability.
35 lines
960 B
C#
35 lines
960 B
C#
using Ganss.Xss;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using System.Text.Encodings.Web;
|
|
|
|
namespace EnvelopeGenerator.Web.Controllers.Test;
|
|
|
|
[ApiController]
|
|
[Route("api/test/[controller]")]
|
|
public class TestSanitizeController : ControllerBase
|
|
{
|
|
private readonly HtmlEncoder _htmlEncoder;
|
|
private readonly HtmlSanitizer _sanitizer;
|
|
|
|
public TestSanitizeController(HtmlEncoder htmlEncoder, HtmlSanitizer sanitizer)
|
|
{
|
|
_htmlEncoder = htmlEncoder;
|
|
_sanitizer = sanitizer;
|
|
}
|
|
|
|
[HttpGet("sanitize")]
|
|
public IActionResult Sanitize([FromQuery] string input) => Ok(new
|
|
{
|
|
input,
|
|
Sanitized = _sanitizer.Sanitize(input),
|
|
SanitizedDocument = _sanitizer.SanitizeDocument(input),
|
|
SanitizedDom = _sanitizer.SanitizeDom(input)
|
|
});
|
|
|
|
[HttpGet("encode")]
|
|
public IActionResult Encoder([FromQuery] string input) => Ok(new
|
|
{
|
|
input,
|
|
Encoded = _htmlEncoder.Encode(input)
|
|
});
|
|
} |