checkInformation method
- @mustCallSuper
- required covariant RequestResponse requestResponse,
- required Map<
String, String> ? requestHeaders, - required Uri? requestUri,
- Object? requestBody,
inherited
Usually use after server call to return the required data or failure.
By default, transformation function will be call after success response.
Implementation
@mustCallSuper
FutureOr<RemoteObject> checkInformation({
required covariant RequestResponse requestResponse,
required Map<String, String>? requestHeaders,
required Uri? requestUri,
Object? requestBody,
}) {
if (inadmissibleStatusCode.contains(requestResponse.statusCode)) {
observer.onInadmissibleException(
requestResponse.statusCode,
requestResponse.body?.call() ?? '',
requestResponse.originalResponse,
List.from(inadmissibleStatusCode),
datasourceName: runtimeType.toString(),
requestBody: requestBody,
requestHeaders: requestHeaders,
requestUri: requestUri,
);
throw InadmissibleDataSourceException(
statusCode: requestResponse.statusCode,
body: requestResponse.body?.call() ?? '',
requestBody: requestBody,
requestHeaders: requestHeaders,
requestUri: requestUri,
);
}
if (!admissibleStatusCode.contains(requestResponse.statusCode)) {
observer.onUnControlException(
requestResponse.statusCode,
requestResponse.body?.call() ?? '',
requestResponse.originalResponse,
List.from(inadmissibleStatusCode),
List.from(admissibleStatusCode),
datasourceName: runtimeType.toString(),
requestBody: requestBody,
requestHeaders: requestHeaders,
requestUri: requestUri,
);
throw UnControlDataSourceException(
statusCode: requestResponse.statusCode,
body: 'Unexpect error. No admissible values provide by server.\n',
requestBody: requestBody,
requestHeaders: requestHeaders,
requestUri: requestUri,
);
}
final objectResult = transformation(remoteResponse: requestResponse);
observer.onAdmissible(objectResult, datasourceName: runtimeType.toString());
return objectResult;
}