MCPcopy
hub / github.com/stackryze/FreeDomains / Whois

Function Whois

src/pages/Whois.jsx:13–252  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

11}
12
13export function Whois() {
14 const [query, setQuery] = useState("");
15 const [result, setResult] = useState(null);
16 const [error, setError] = useState(null);
17 const [loading, setLoading] = useState(false);
18 const [copied, setCopied] = useState(false);
19
20 const handleSearch = async (e) => {
21 e.preventDefault();
22 const trimmed = query.trim().toLowerCase();
23 if (!trimmed) return;
24
25 setLoading(true);
26 setResult(null);
27 setError(null);
28
29 try {
30 const res = await fetch(
31 `${API_BASE}/subdomains/whois?query=${encodeURIComponent(trimmed)}`
32 );
33 const data = await res.json();
34
35 if (!res.ok) {
36 setError(data.error || "Lookup failed. Please try again.");
37 } else {
38 setResult(data);
39 }
40 } catch {
41 setError("Network error. Please check your connection and try again.");
42 } finally {
43 setLoading(false);
44 }
45 };
46
47 const buildWhoisText = (d) => {
48 const lines = [
49 `Domain Name: ${d.domainName.toUpperCase()}`,
50 `Registrar WHOIS Server: ${d.registrarWhoisServer}`,
51 `Registrar URL: ${d.registrarUrl}`,
52 `Creation Date: ${formatDate(d.createdAt)}`,
53 `Registry Expiry Date: ${formatDate(d.expiresAt)}`,
54 `Updated Date: ${formatDate(d.updatedAt)}`,
55 `Registrar: ${d.registrar}`,
56 `Registrar Abuse Contact Email: ${d.registrarAbuseEmail}`,
57 `Domain Status: ${d.domainStatus}`,
58 `Registrant Name: ${d.registrantName}`,
59 `Registrant Email: ${d.registrantEmail}`,
60 `Registrant Address: ${d.registrantAddress}`,
61 `Registrant Phone: ${d.registrantPhone}`,
62 ...d.nameservers.map((ns) => `Name Server: ${ns}`),
63 `DNSSEC: ${d.dnssec}`,
64 ``,
65 `>>> Last update of WHOIS database: ${formatDate(new Date().toISOString())} <<<`,
66 ];
67 return lines.join("\n");
68 };
69
70 const handleCopy = () => {

Callers

nothing calls this directly

Calls 2

isExpiringSoonFunction · 0.85
formatDateFunction · 0.70

Tested by

no test coverage detected