onResponse method
The callback will be executed on success.
If you want to continue the response, call handler.next
.
If you want to complete the response with some custom data directly,
you can resolve a Response
object with handler.resolve
and other
response interceptor(s) will not be executed.
If you want to complete the response with an error message,
you can reject a DioError
object with handler.reject
.
Implementation
@override
Future onResponse(
Response response, ResponseInterceptorHandler handler) async {
try {
final requestKey = response.requestOptions.extra.hashCode;
final metric = _map[requestKey];
metric?.setResponse(response, responseContentLengthMethod);
await metric?.stop();
_map.remove(requestKey);
} catch (_) {}
return super.onResponse(response, handler);
}