parseProxyUrl function

ParsedProxyUrl? parseProxyUrl(
  1. String url
)

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;
  }
}