Skip to content

Commit

Permalink
fix: handle extraInfo events even if event.hasExtraInfo === false
Browse files Browse the repository at this point in the history
Issues: #7805
  • Loading branch information
OrKoN committed Nov 28, 2021
1 parent 641588a commit 210b7a8
Showing 1 changed file with 18 additions and 15 deletions.
33 changes: 18 additions & 15 deletions src/common/NetworkManager.ts
Expand Up @@ -513,7 +513,7 @@ export class NetworkManager extends EventEmitter {

_emitResponseEvent(
responseReceived: Protocol.Network.ResponseReceivedEvent,
extraInfo: Protocol.Network.ResponseReceivedExtraInfoEvent
extraInfo: Protocol.Network.ResponseReceivedExtraInfoEvent | null
): void {
const request = this._requestIdToRequest.get(responseReceived.requestId);
// FileUpload sends a response without a matching request.
Expand All @@ -540,20 +540,23 @@ export class NetworkManager extends EventEmitter {

_onResponseReceived(event: Protocol.Network.ResponseReceivedEvent): void {
const request = this._requestIdToRequest.get(event.requestId);
let extraInfo = null;
if (request && !request._fromMemoryCache && event.hasExtraInfo) {
extraInfo = this._requestIdToResponseExtraInfo(event.requestId).shift();
if (!extraInfo) {
// Wait until we get the corresponding ExtraInfo event.
let resolver = null;
const promise = new Promise<void>((resolve) => (resolver = resolve));
this._requestIdToQueuedEvents.set(event.requestId, {
responseReceived: event,
promise,
resolver,
});
return;
}
const extraInfo =
this._requestIdToResponseExtraInfo(event.requestId).shift() || null;
if (
!extraInfo &&
request &&
!request._fromMemoryCache &&
event.hasExtraInfo
) {
// Wait until we get the corresponding ExtraInfo event.
let resolver = null;
const promise = new Promise<void>((resolve) => (resolver = resolve));
this._requestIdToQueuedEvents.set(event.requestId, {
responseReceived: event,
promise,
resolver,
});
return;
}
this._emitResponseEvent(event, extraInfo);
}
Expand Down

0 comments on commit 210b7a8

Please sign in to comment.