public IActionResult SearchDomain([HttpTrigger(AuthorizationLevel.Function, "post", Route = "search/domain")] SearchDomainBlacklistRequest model, ILogger logger) { try { var result = BlacklistManager.Search(model); return(new OkObjectResult(result)); } catch (Exception ex) { return(new BadRequestObjectResult(new ExceptionResult(ex))); } }
public BlacklistQueryResult Search(SearchDomainBlacklistRequest model) { Establish.For(model, nameof(model)).IsNotNull() .Property(x => x.Uri, nameof(model.Uri), e => e.IsNotNull().Satisfies(x => Uri.IsWellFormedUriString(x, UriKind.Absolute))); var uri = new Uri(model.Uri); var query = new DplSearch(); query.AddClause(DplFields.Notes, DplSearchMatchType.Contains, uri.DnsSafeHost); var dplResult = CSDenialService.SearchDpl(query); var result = new BlacklistQueryResult(dplResult.Hits.Select(x => x.Id)); return(result); }