INNER CODE UNIT · Python
validate_domains
OpenOSINT/OpenOSINT · actors/domain-recon/src/main.py:52
def validate_domains(raw: list) -> tuple[list[str], list[str]]:
"""Dedupe and split raw input into (valid, rejected) domains."""
deduped = _dedupe_preserve_order([str(d) for d in raw])
valid, rejected = [], []
for domain in deduped:
if _DOMAIN_RE.match(domain):
valid.append(domain)
else:
rejected.append(domain)
return valid, rejected
async def build_domain_report(domain: str, rdap_bootstrap: dict | None) -> dict:
"""
Build one domain report, degrading gracefully per data source.
DNS and RDAP are fetched independently — an RDAP failure (unregistered
domain, RDAP server down) does not prevent the DNS/email-security