toResponse<T> method
BaseServiceResponse<T>
toResponse<
T>( - Object? body, [
- int? statusCode
])
inherited
Implementation
BaseServiceResponse<T> toResponse<T>(Object? body, [int? statusCode]) {
statusCode ??= 200;
if (!ServiceProviderUtils.isSuccessStatusCode(statusCode)) {
return ServiceErrorResponse(
statusCode: statusCode,
error: ServiceProviderUtils.findError(
object: body, statusCode: statusCode));
}
try {
T response;
if (body is List<int>) {
response = ServiceProviderUtils.toResult<T>(body);
} else {
response =
ServiceProviderUtils.parseResponse<T>(object: body, params: this);
}
return ServiceSuccessRespose<T>(
statusCode: statusCode, response: response);
} catch (_) {}
throw RPCError(
message: "Parsing response failed.",
request: toJson(),
details: {"expected": "$T"});
}