validateBaseURL method
Validate base URL for environment
Implementation
ValidationResult validateBaseURL(String? url, SDKEnvironment environment) {
try {
final lib = PlatformLoader.loadCommons();
final validateFn = lib
.lookupFunction<
Int32 Function(Pointer<Utf8>, Int32),
int Function(Pointer<Utf8>, int)
>('rac_validate_base_url');
final urlPtr = url?.toNativeUtf8() ?? nullptr;
try {
final result = validateFn(
urlPtr.cast<Utf8>(),
_environmentToInt(environment),
);
return ValidationResult.fromCode(result);
} finally {
if (urlPtr != nullptr) calloc.free(urlPtr);
}
} catch (e) {
// Fallback validation
if (environment == SDKEnvironment.SDK_ENVIRONMENT_DEVELOPMENT) {
return ValidationResult.ok;
}
if (url == null || url.isEmpty) {
return ValidationResult.urlRequired;
}
if (!url.startsWith('http://') && !url.startsWith('https://')) {
return ValidationResult.urlInvalidScheme;
}
if (environment == SDKEnvironment.SDK_ENVIRONMENT_PRODUCTION &&
!url.startsWith('https://')) {
return ValidationResult.urlHttpsRequired;
}
return ValidationResult.ok;
}
}