Skip to content

Commit 2f28ddf

Browse files
committed
Network.responseReceivedExtraInfo may be fired before or after responseReceived
From https://chromedevtools.github.io/devtools-protocol/tot/Network/#event-responseReceivedExtraInfo responseReceivedExtraInfo may be fired before or after responseReceived.
1 parent e1b7c6c commit 2f28ddf

File tree

3 files changed

+77039
-8
lines changed

3 files changed

+77039
-8
lines changed

index.js

+9-8
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ module.exports = {
6767
entriesWithoutPage = [],
6868
responsesWithoutPage = [],
6969
paramsWithoutPage = [],
70+
responseReceivedExtraInfos = [],
7071
currentPageId;
7172

7273
for (const message of messages) {
@@ -336,11 +337,7 @@ module.exports = {
336337
}
337338

338339
if (!entry) {
339-
debug(
340-
`Received response extra info for requestId ${
341-
params.requestId
342-
} with no matching request.`
343-
);
340+
responseReceivedExtraInfos.push(params);
344341
continue;
345342
}
346343

@@ -350,13 +347,12 @@ module.exports = {
350347
headers: parseHeaders(params.headers),
351348
blockedCookies: params.blockedCookies
352349
};
350+
responseReceivedExtraInfos.push(params);
353351
continue;
354352
}
355353

356354
if (params.headers) {
357-
entry.response.headers = entry.response.headers.concat(
358-
parseHeaders(params.headers)
359-
);
355+
entry.response.headers = parseHeaders(params.headers);
360356
}
361357
}
362358
break;
@@ -418,6 +414,11 @@ module.exports = {
418414
);
419415
throw e;
420416
}
417+
418+
const responseReceivedExtraInfo = responseReceivedExtraInfos.find(responseReceivedExtraInfo => responseReceivedExtraInfo.requestId == params.requestId);
419+
if (responseReceivedExtraInfo && responseReceivedExtraInfo.headers) {
420+
entry.response.headers = parseHeaders(responseReceivedExtraInfo.headers);
421+
}
421422
}
422423
break;
423424

0 commit comments

Comments
 (0)