json<S> static method
Future<ApiResult<S> >
json<S>(
- NetResponse<
S> response, - NetMapperSuccess<
S> mapperSuccess, - NetMapperError mapperError
Implementation
static Future<ApiResult<S>> json<S>(NetResponse<S> response,
NetMapperSuccess<S> mapperSuccess, NetMapperError mapperError) async {
try {
if (response.statusCode == 200) {
final responseData = response.body;
if (responseData != null) {
final responseObject = mapperSuccess(responseData);
return responseObject?.let(
(result) => ApiResultSuccess(result, response.statusCode),
) ??
_buildError(response.statusCode, response.statusMessage,
responseData, mapperError);
} else {
return _buildError(response.statusCode, response.statusMessage,
responseData, mapperError);
}
} else {
return _buildError(
response.statusCode, response.statusMessage, response, mapperError);
}
} on DioException catch (exception) {
logger.e("error", error: exception, stackTrace: StackTrace.current);
return ApiResultErrorInternal(exception.error.toString());
} catch (e) {
logger.e("error", error: e, stackTrace: StackTrace.current);
return ApiResultErrorInternal(e.toString());
}
}