request<T> method
Future<T?>
request<
T>({ - required Future<Response> call(),
- required T onSuccess(
- Response response
),
- bool showLoader = true,
- bool showErrorLog = true,
})
COMMON API EXECUTOR
Implementation
Future<T?> request<T>({
required Future<Response> Function() call,
required T Function(Response response) onSuccess,
bool showLoader = true,
bool showErrorLog = true,
}) async {
try {
if (showLoader) _setLoading(true);
errorMessage = null;
final Response response = await call();
return onSuccess(response);
}
on DioException catch (e) {
errorMessage = _parseDioError(e);
if (showErrorLog) {
debugPrint("❌ API ERROR → $errorMessage");
}
return null;
}
catch (e) {
errorMessage = "Unexpected error occurred";
debugPrint("❌ UNKNOWN ERROR → $e");
return null;
}
finally {
if (showLoader) _setLoading(false);
}
}