fetchDatabaseSwagger function
Implementation
Future<DatabaseSwagger?> fetchDatabaseSwagger(
String url, String anonKey) async {
if (!url.startsWith("http://") && !url.startsWith("https://")) {
url = "https://$url"; // Default to HTTPS if no scheme is provided
}
try {
// First attempt with API key
final response = await _secureRequest('$url/rest/v1/?apikey=$anonKey');
if (response.statusCode == 200) {
return DatabaseSwagger.fromJson(jsonDecode(response.body));
}
// Second attempt without API key
print("Trying without the API key...");
final response2 = await _secureRequest('$url/rest/v1/');
if (response2.statusCode == 200) {
return DatabaseSwagger.fromJson(jsonDecode(response2.body));
}
print(
"Failed to fetch Supabase Swagger. Status code: ${response2.statusCode}");
print("Response body: ${response2.body}");
} catch (e) {
print("Error fetching Supabase Swagger: $e");
}
return null;
}