duckduckgo/tracker-radar-collector

Store headers received in the responseReceivedExtraInfo event if a matching request cannot be found

Closed this issue · 1 comments

tracker-radar-collector is missing response headers (esp., Set-cookie) when responseReceivedExtraInfo is received before the event for the corresponding request (i.e., Network.requestWillBeSent or Network.requestWillBeSentExtraInfo)

Here's an example from cnn.com where the responseReceivedExtraInfo is received before the request itself. The second log line comes from handleRequest.

cnn.com: ⚠️ unmatched extra info 1000014251.189
cnn.com: REQ https://get.s-onetag.com/c15ddde9-ec7d-4a49-b8ca-7a21bc4b943b/tag.min.js 1000014251.189

When tracker-radar-collector cannot find a corresponding request, it throws away the headers received in the responseReceivedExtraInfo event.
Instead, it could store the headers and match the request-response pair later in the process.

As discussed in #20 this should be addressed by the same fix. Feel free to reopen if I'm missing something and those two are indeed separate.