isValidLink static method
Method to verify if the link is valid or not
Implementation
static bool isValidLink(
String link, {
List<String> protocols = const ['http', 'https', 'ftp'],
List<String> hostWhitelist = const [],
List<String> hostBlacklist = const [],
bool requireTld = true,
bool requireProtocol = false,
bool allowUnderscore = false,
}) {
if (link.isEmpty) return false;
final options = <String, Object>{
'require_tld': requireTld,
'require_protocol': requireProtocol,
'allow_underscores': allowUnderscore,
// 'require_port': false,
// 'require_valid_protocol': true,
// 'allow_trailing_dot': false,
// 'allow_protocol_relative_urls': false,
// 'allow_fragments': true,
// 'allow_query_components': true,
// 'disallow_auth': false,
// 'validate_length': true
};
if (protocols.isNotEmpty) options['protocols'] = protocols;
if (hostWhitelist.isNotEmpty) options['host_whitelist'] = hostWhitelist;
if (hostBlacklist.isNotEmpty) options['host_blacklist'] = hostBlacklist;
return isURL(link, options);
}