resolver<T> method
Implementation
Future<HttpClientResolverDTO<T>> resolver<T>(Future<Response> fn,) async {
Map<String, dynamic>? data;
HttpClientResolverError? error;
try {
final response = await fn;
if (response.statusCode == 200 || response.statusCode == 201) {
data = response.data;
} else {
error = HttpClientResolverError(
message: response.statusMessage!,
statusCode: response.statusCode!,
);
}
} on DioException catch (e) {
error = HttpClientResolverError(
message: e.response!.statusMessage.toString(),
statusCode: e.response!.statusCode!.toInt(),
);
}
final resolvedResponse = {'data': data, 'error': error};
return Future.value(resolvedResponse);
}