onResponse method

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

Called when a response is received. Logs the API call.

Implementation

@override
void onResponse(Response response, ResponseInterceptorHandler handler) {
  final startTime =
      response.requestOptions.extra['devLoggerStartTime'] as DateTime?;
  final endTime = DateTime.now();
  final duration = startTime != null ? endTime.difference(startTime) : null;

  _logApiResponse(
    heading:
        '[${response.requestOptions.method}] ${response.requestOptions.uri}',
    content: response.data.toString(),
    method: response.requestOptions.method,
    url: response.requestOptions.uri.toString(),
    headers: response.requestOptions.headers,
    body: response.requestOptions.data,
    statusCode: response.statusCode,
    timings: duration,
  );

  super.onResponse(response, handler);
}