forked from baron/baron-sso
userfront 런타임 BACKEND_URL fallback 수정
This commit is contained in:
34
userfront/lib/core/services/runtime_env.dart
Normal file
34
userfront/lib/core/services/runtime_env.dart
Normal file
@@ -0,0 +1,34 @@
|
||||
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()));
|
||||
}
|
||||
Reference in New Issue
Block a user