summaryrefslogtreecommitdiffstats
path: root/remote/test/puppeteer/packages/puppeteer-core/src/bidi/core/Request.ts
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 01:14:29 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 01:14:29 +0000
commitfbaf0bb26397aa498eb9156f06d5a6fe34dd7dd8 (patch)
tree4c1ccaf5486d4f2009f9a338a98a83e886e29c97 /remote/test/puppeteer/packages/puppeteer-core/src/bidi/core/Request.ts
parentReleasing progress-linux version 124.0.1-1~progress7.99u1. (diff)
downloadfirefox-fbaf0bb26397aa498eb9156f06d5a6fe34dd7dd8.tar.xz
firefox-fbaf0bb26397aa498eb9156f06d5a6fe34dd7dd8.zip
Merging upstream version 125.0.1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'remote/test/puppeteer/packages/puppeteer-core/src/bidi/core/Request.ts')
-rw-r--r--remote/test/puppeteer/packages/puppeteer-core/src/bidi/core/Request.ts33
1 files changed, 20 insertions, 13 deletions
diff --git a/remote/test/puppeteer/packages/puppeteer-core/src/bidi/core/Request.ts b/remote/test/puppeteer/packages/puppeteer-core/src/bidi/core/Request.ts
index 2a445f7d87..fd616b668d 100644
--- a/remote/test/puppeteer/packages/puppeteer-core/src/bidi/core/Request.ts
+++ b/remote/test/puppeteer/packages/puppeteer-core/src/bidi/core/Request.ts
@@ -66,10 +66,11 @@ export class Request extends EventEmitter<{
new EventEmitter(this.#session)
);
sessionEmitter.on('network.beforeRequestSent', event => {
- if (event.context !== this.#browsingContext.id) {
- return;
- }
- if (event.request.request !== this.id) {
+ if (
+ event.context !== this.#browsingContext.id ||
+ event.request.request !== this.id ||
+ event.redirectCount !== this.#event.redirectCount + 1
+ ) {
return;
}
this.#redirect = Request.from(this.#browsingContext, event);
@@ -77,10 +78,11 @@ export class Request extends EventEmitter<{
this.dispose();
});
sessionEmitter.on('network.fetchError', event => {
- if (event.context !== this.#browsingContext.id) {
- return;
- }
- if (event.request.request !== this.id) {
+ if (
+ event.context !== this.#browsingContext.id ||
+ event.request.request !== this.id ||
+ this.#event.redirectCount !== event.redirectCount
+ ) {
return;
}
this.#error = event.errorText;
@@ -88,14 +90,19 @@ export class Request extends EventEmitter<{
this.dispose();
});
sessionEmitter.on('network.responseCompleted', event => {
- if (event.context !== this.#browsingContext.id) {
- return;
- }
- if (event.request.request !== this.id) {
+ if (
+ event.context !== this.#browsingContext.id ||
+ event.request.request !== this.id ||
+ this.#event.redirectCount !== event.redirectCount
+ ) {
return;
}
this.#response = event.response;
this.emit('success', this.#response);
+ // In case this is a redirect.
+ if (this.#response.status >= 300 && this.#response.status < 400) {
+ return;
+ }
this.dispose();
});
}
@@ -126,7 +133,7 @@ export class Request extends EventEmitter<{
return this.#event.navigation ?? undefined;
}
get redirect(): Request | undefined {
- return this.redirect;
+ return this.#redirect;
}
get response(): Bidi.Network.ResponseData | undefined {
return this.#response;