onResponse method
- Response response,
- ResponseInterceptorHandler handler
override
Called when the response is about to be resolved.
Implementation
@override
void onResponse(Response response, ResponseInterceptorHandler handler) async {
final request = response.requestOptions;
final startTime = request.extra['startTime'] as DateTime?;
final timestamp = startTime ?? DateTime.now();
final log = SimpleOverlayNetworkLog(
timestamp: timestamp,
tag: request.path,
method: request.method,
url: request.uri.toString(),
requestHeaders: Map<String, String>.from(
request.headers.map((k, v) => MapEntry(k, v.toString()))),
requestBody: request.data.toString(),
statusCode: response.statusCode,
responseHeaders:
response.headers.map.map((k, v) => MapEntry(k, v.join(','))),
responseBody: response.data.toString(),
isSuccess: response.statusCode != null && response.statusCode! < 400,
);
await _storageService.addNetworkLog(log);
handler.next(response);
}