safeRequest<T> method
Implementation
Future<GpApiResponse<T>> safeRequest<T>(Future<T> Function() request) async {
try {
final data = await request();
return GpApiResponse.success(data);
} on GpException catch (e) {
return GpApiResponse.error(e.message, statusCode: e.code);
} on DioException catch (e) {
final mapped = GpHttpHelpers.extractGpException(e);
if (mapped != null) {
return GpApiResponse.error(mapped.message, statusCode: mapped.code);
}
return GpApiResponse.error(
e.message ?? 'Error inesperado en la petición',
statusCode: e.response?.statusCode,
);
} catch (e) {
return GpApiResponse.error("Error inesperado: $e");
}
}