forked from baron/baron-sso
35 lines
829 B
Dart
35 lines
829 B
Dart
import 'package:flutter_dotenv/flutter_dotenv.dart';
|
|
|
|
String runtimeOriginFallback() {
|
|
try {
|
|
final origin = Uri.base.origin;
|
|
if (origin.isNotEmpty && origin != 'null') {
|
|
return origin;
|
|
}
|
|
} catch (_) {}
|
|
return 'https://sso-test.hmac.kr';
|
|
}
|
|
|
|
String envOrDefault(String key, String fallback) {
|
|
if (!dotenv.isInitialized) {
|
|
return fallback;
|
|
}
|
|
final value = dotenv.env[key];
|
|
if (value == null || value.trim().isEmpty) {
|
|
return fallback;
|
|
}
|
|
return value;
|
|
}
|
|
|
|
String sanitizedUrl(String value) {
|
|
return value.replaceAll(r'$', '').trim().replaceAll(RegExp(r'/$'), '');
|
|
}
|
|
|
|
String runtimeBackendUrl() {
|
|
return sanitizedUrl(envOrDefault('BACKEND_URL', runtimeOriginFallback()));
|
|
}
|
|
|
|
String runtimeUserfrontUrl() {
|
|
return sanitizedUrl(envOrDefault('USERFRONT_URL', runtimeOriginFallback()));
|
|
}
|