onResponse method

  1. @override
Future<FittorResponse> onResponse(
  1. FittorResponse response
)
override

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;
}