convertResponse<ResultType, Item> method
Converts the received Response to a Response which has a body of the
type BodyType.
BodyType is the expected type of the resulting Response's body
(e.g., String or CustomObject).
If BodyType is a List or a BuiltList, InnerType is the type of the
generic parameter (e.g., convertResponse<List<CustomObject>, CustomObject>(response) ).
Implementation
@override
FutureOr<chopper.Response<ResultType>> convertResponse<ResultType, Item>(
chopper.Response response) async {
if (response.bodyString.isEmpty) {
// In rare cases, when let's say 204 (no content) is returned -
// we cannot decode the missing json with the result type specified
return chopper.Response(response.base, null, error: response.error);
}
final jsonRes = await super.convertResponse(response);
return jsonRes.copyWith<ResultType>(
body: $jsonDecoder.decode<Item>(jsonRes.body) as ResultType);
}