ProxyModel.fromJson constructor

ProxyModel.fromJson(
  1. Map<String, dynamic> json
)

Creates a ProxyModel from a JSON map

Implementation

factory ProxyModel.fromJson(Map<String, dynamic> json) {
  return ProxyModel(
    ip: json['ip'] as String,
    port: json['port'] as int,
    countryCode: json['countryCode'] as String?,
    isHttps: json['isHttps'] as bool? ?? false,
    anonymityLevel: json['anonymityLevel'] as String?,
    region: json['region'] as String?,
    isp: json['isp'] as String?,
    speed: json['speed'] != null ? (json['speed'] as num).toDouble() : null,
    supportsWebsockets: json['supportsWebsockets'] as bool?,
    protocol:
        json['protocol'] != null
            ? ProxyProtocol.values[json['protocol'] as int]
            : json['supportsSocks'] == true
            ? json['socksVersion'] == 5
                ? ProxyProtocol.socks5
                : ProxyProtocol.socks4
            : json['isHttps'] == true
            ? ProxyProtocol.https
            : ProxyProtocol.http,
    auth:
        json['auth'] != null
            ? ProxyAuth.fromJson(json['auth'] as Map<String, dynamic>)
            : json['username'] != null && json['password'] != null
            ? ProxyAuth.basic(
              username: json['username'] as String,
              password: json['password'] as String,
            )
            : null,
    lastChecked: json['lastChecked'] as int?,
    responseTime: json['responseTime'] as int?,
    score:
        json['score'] != null
            ? ProxyScore.fromJson(json['score'] as Map<String, dynamic>)
            : null,
  );
}