GatewayConfig.fromJson constructor

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

Creates a GatewayConfig from a JSON map.

Implementation

factory GatewayConfig.fromJson(Map<String, dynamic> json) {
  return GatewayConfig(
    enabled: json['enabled'] as bool? ?? false,
    port: json['port'] as int? ?? 8080,
    address: json['address'] as String? ?? '0.0.0.0',
    writable: json['writable'] as bool? ?? false,
    enableCache: json['enableCache'] as bool? ?? true,
    cacheSize: json['cacheSize'] as int? ?? 104857600,
    gatewayDomain: json['gatewayDomain'] as String?,
    enableSubdomainGateway: json['enableSubdomainGateway'] as bool? ?? false,
    subdomainDNSLinkResolver:
        json['subdomainDNSLinkResolver'] as bool? ?? true,
    subdomainTLSRedirect: json['subdomainTLSRedirect'] as bool? ?? false,
    enableTls: json['enableTls'] as bool? ?? false,
    certificatePath: json['certificatePath'] as String?,
    privateKeyPath: json['privateKeyPath'] as String?,
    certificatePassword: json['certificatePassword'] as String?,
    autoTls: json['autoTls'] as bool? ?? false,
    autoTlsDomain: json['autoTlsDomain'] as String?,
    autoTlsEmail: json['autoTlsEmail'] as String?,
    autoTlsProvider: json['autoTlsProvider'] as String? ?? 'letsencrypt',
    autoTlsAcceptTos: json['autoTlsAcceptTos'] as bool? ?? false,
    autoTlsSANs:
        (json['autoTlsSANs'] as List<dynamic>?)?.cast<String>() ?? const [],
    tlsPort: json['tlsPort'] as int? ?? 443,
    redirectHttpToHttps: json['redirectHttpToHttps'] as bool? ?? false,
  );
}