onResponse method
Called after a successful response is received
Can modify the response or return a completely new response. The returned response will be passed to the next interceptor or returned to the caller.
response
The received response
Returns the response to be processed (can be modified or replaced)
Implementation
@override
Future<FittorResponse> onResponse(FittorResponse response) async {
if (logResponse) {
developer.log(
'← ${response.statusCode} ${response.statusMessage} (${response.requestDuration.inMilliseconds}ms)',
name: logTag,
);
if (response.headers.toMap().isNotEmpty) {
developer.log(
'Response Headers: ${response.headers.toMap()}',
name: logTag,
);
}
if (response.bodyBytes.isNotEmpty) {
final bodyPreview = response.body.length > 1000
? '${response.body.substring(0, 1000)}...'
: response.body;
developer.log(
'Response Body: $bodyPreview',
name: logTag,
);
}
}
return response;
}