onResponse method

  1. @override
void onResponse(
  1. Response response,
  2. ResponseInterceptorHandler handler
)

Called when the response is about to be resolved.

Implementation

@override
void onResponse(Response response, ResponseInterceptorHandler handler) {
  final startTime = response.requestOptions.extra['start_time'];
  final log = logger.logs.firstWhere(
        (l) => l.time == startTime,
    orElse: () => LoggedRequest(
      method: response.requestOptions.method,
      path: response.requestOptions.uri.toString(),
      headers: {},
      requestBody: null,
      time: DateTime.now(),
    ),
  );

  log.statusCode = response.statusCode;
  log.responseBody = response.data;
  log.duration = DateTime.now().difference(log.time);
  NotificationHelper.show(
      "${log.method} ${log.statusCode}", log.path, Constants.logs);

  super.onResponse(response, handler);
}