using linker.messenger.signin;
using linker.libs;
namespace linker.messenger.sforward.server.validator
{
///
/// 验证
///
public sealed partial class SForwardValidatorTransfer
{
private List validators = new List();
public SForwardValidatorTransfer()
{
}
///
/// 加载验证实现类
///
///
public void AddValidators(List list)
{
if (list == null) return;
validators = validators.Concat(list).Distinct().ToList();
LoggerHelper.Instance.Info($"load sforward server validator :{string.Join(",", list.Select(c => c.GetType().Name))}");
}
///
/// 验证
///
///
///
///
public async Task Validate(SignCacheInfo signCacheInfo, SForwardAddInfo sForwardAddInfo)
{
foreach (var item in validators)
{
string result = await item.Validate(signCacheInfo, sForwardAddInfo);
if (string.IsNullOrWhiteSpace(result) == false)
{
return result;
}
}
return string.Empty;
}
}
}