parseProxyUrl function
Parse a proxy URL into structured components.
Implementation
ParsedProxyUrl? parseProxyUrl(String url) {
try {
final uri = Uri.parse(url);
if (!uri.hasScheme || uri.host.isEmpty) return null;
return ParsedProxyUrl(
scheme: uri.scheme,
host: uri.host,
port: uri.port != 0 ? uri.port : (uri.scheme == 'https' ? 443 : 80),
username: uri.userInfo.contains(':')
? uri.userInfo.split(':').first
: uri.userInfo.isNotEmpty
? uri.userInfo
: null,
password: uri.userInfo.contains(':')
? uri.userInfo.split(':').sublist(1).join(':')
: null,
);
} catch (_) {
return null;
}
}