rdt-client/server/RdtClient.Web/Controllers/SabnzbdModeAttribute.cs
2026-02-13 13:15:57 -05:00

23 lines
669 B
C#

using Microsoft.AspNetCore.Mvc.ActionConstraints;
namespace RdtClient.Web.Controllers;
[AttributeUsage(AttributeTargets.Method)]
public class SabnzbdModeAttribute(String mode) : Attribute, IActionConstraint
{
public Int32 Order => 0;
public Boolean Accept(ActionConstraintContext context)
{
var request = context.RouteContext.HttpContext.Request;
String? modeValue = request.Query["mode"];
if (String.IsNullOrWhiteSpace(modeValue) && request.HasFormContentType)
{
modeValue = request.Form["mode"];
}
return String.Equals(modeValue, mode, StringComparison.OrdinalIgnoreCase);
}
}