TlsConfig.fromEnvironment constructor
Builds a TlsConfig from environment variables.
Implementation
factory TlsConfig.fromEnvironment(Map<String, String> env) {
String? optional(String? value) {
if (value == null) return null;
final trimmed = value.trim();
return trimmed.isEmpty ? null : trimmed;
}
final ca = optional(env[TlsEnvKeys.caCert]);
final cert = optional(env[TlsEnvKeys.clientCert]);
final key = optional(env[TlsEnvKeys.clientKey]);
final allowInsecure =
(env[TlsEnvKeys.allowInsecure] ?? 'false').toLowerCase().contains(
'true',
) ||
(env[TlsEnvKeys.allowInsecure] ?? '').toLowerCase() == '1';
if (ca == null && cert == null && key == null && !allowInsecure) {
return const TlsConfig.disabled();
}
return TlsConfig(
caCertificateFile: ca,
clientCertificateFile: cert,
clientKeyFile: key,
allowInsecure: allowInsecure,
);
}