onResponse method
Called when the response is about to be resolved.
Implementation
@override
void onResponse(Response response, ResponseInterceptorHandler handler) async {
// Calculate response time if not already set
int responseTime = 0;
if (response.extra.containsKey('responseTime')) {
responseTime = response.extra['responseTime'] as int? ?? 0;
} else if (response.extra.containsKey('requestStartTime')) {
final startTime = response.extra['requestStartTime'] as int;
final endTime = DateTime.now().millisecondsSinceEpoch;
responseTime = endTime - startTime;
response.extra['responseTime'] = responseTime;
}
// Record successful proxy usage
if (_currentProxy != null) {
_log('Proxy request successful, response time: ${responseTime}ms');
await _proxyManager.recordSuccess(_currentProxy!, responseTime);
}
handler.next(response);
}