onResponse method
- Response response,
- ResponseInterceptorHandler handler
override
Called when the response is about to be resolved.
Implementation
@override
void onResponse(Response response, ResponseInterceptorHandler handler) {
final setCookieHeaders = response.headers[HttpHeaders.setCookieHeader];
if (setCookieHeaders == null || setCookieHeaders.isEmpty) {
handler.next(response);
return;
}
final validCookies = <String>[];
for (final cookie in setCookieHeaders.expand(
(h) => h.split(_setCookieReg),
)) {
if (cookie.isEmpty) continue;
final trimmed = cookie.trimLeft();
try {
Cookie.fromSetCookieValue(trimmed);
validCookies.add(trimmed);
} on FormatException {
log('Filtered invalid Set-Cookie header: $trimmed', name: 'HTTP');
}
}
response.headers.set(HttpHeaders.setCookieHeader, validCookies);
handler.next(response);
}