From 3af6013dbbe577138600aab3e84adb1d85fe9bca Mon Sep 17 00:00:00 2001 From: Lukas Davidovic Date: Wed, 10 Apr 2024 09:22:35 +0200 Subject: [PATCH] improve url validation --- pages/api/sources/check.ts | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/pages/api/sources/check.ts b/pages/api/sources/check.ts index 7d6a448..e3c702b 100644 --- a/pages/api/sources/check.ts +++ b/pages/api/sources/check.ts @@ -12,8 +12,21 @@ type CheckResponse = { function extractDomain(url: string): string { try { - const urlObj = new URL(url) - return urlObj.hostname.replace('www.', '') + // Clean up the URL first + let cleanUrl = url.trim() + if (!cleanUrl.startsWith('http://') && !cleanUrl.startsWith('https://')) { + cleanUrl = 'https://' + cleanUrl + } + + const urlObj = new URL(cleanUrl) + let domain = urlObj.hostname.toLowerCase() + + // Remove common prefixes + domain = domain.replace(/^www\./, '') + domain = domain.replace(/^m\./, '') + domain = domain.replace(/^mobile\./, '') + + return domain } catch { return '' }