Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Productionisation of Network Interception #2035

Closed
10 of 11 tasks
Tracked by #644
Lightning00Blade opened this issue Mar 20, 2024 · 1 comment
Closed
10 of 11 tasks
Tracked by #644

Productionisation of Network Interception #2035

Lightning00Blade opened this issue Mar 20, 2024 · 1 comment
Assignees

Comments

@Lightning00Blade
Copy link
Collaborator

Lightning00Blade commented Mar 20, 2024

Tracking bug for thing left to do to achieve 100% WPT test coverage, reduce complexity, and reduce flakiness.
Design document - go/webdriver:network-interception

Full list of PRs

Lightning00Blade added a commit that referenced this issue Apr 2, 2024
Currently we never await the `responseReceivedExtraInfo` as we destroy
the BiDi `NetworkRequest` as soon as we see the redirect happening. This
means that the conditions for emitting are never met.
We should eventually change this but having the `responseCompleted`
event with missing headers is better then not having it at all.
Such change would mean that can never have order that matches the
expectations
`beforeRequestSent` -> `responseCompleted` -> `beforeRequestSent`
As the `responseReceivedExtraInfo` comes after the second CDP
`requestWillBeSent`
#2035
Lightning00Blade added a commit that referenced this issue Apr 9, 2024
…failure (#2118)

#2035
This unblock part of the Puppeteer implementation to properly handle
navigation that originated from `browsingContext.navigate` and failed.
Lightning00Blade added a commit to puppeteer/puppeteer that referenced this issue Apr 15, 2024
The provides support for Network interception for the WebDriver
protocol.
More information on current state of WebDriver support can be found
[here](https://pptr.dev/webdriver-bidi).
This is a Puppteer side implementation for the Network interception
feature,
some vendors may not support all properties that you can send through
Puppeteer, please be aware.

You should try to display the error in your event handler as so:
```ts
page.on('request', request => {
  void request
    .continue({
      // Your overrides
    })
    .catch(error => {
      // The error will not propagate to the process
      console.error(error);
      // If you want to stop the process in NodeJS also use
      process.exit(1);
    });
});
const response = await page.goto('<URL>');
```

The following issues track state of vendor implementation, that
Puppeteer relies on:
Chrome: GoogleChromeLabs/chromium-bidi#2035
Firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=1853882 and
https://bugzilla.mozilla.org/show_bug.cgi?id=1850680

Release Notes:
feat(webdriver): support page.setExtraHTTPHeaders
Source-Link:
140f012

feat(webdriver): support priority for request interception
Source-Link:
08bc854
  
feat(webdriver): basic support for HTTPRequest.respond()
Source-Link:
cd88110
OrKoN pushed a commit to puppeteer/puppeteer that referenced this issue Apr 16, 2024
The provides support for Network interception for the WebDriver
protocol.
More information on current state of WebDriver support can be found
[here](https://pptr.dev/webdriver-bidi).
This is a Puppteer side implementation for the Network interception
feature,
some vendors may not support all properties that you can send through
Puppeteer, please be aware.

The following issues track state of vendor implementation, that
Puppeteer relies on:
Chrome: GoogleChromeLabs/chromium-bidi#2035
Firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=1853882 and
https://bugzilla.mozilla.org/show_bug.cgi?id=1850680

Release Notes:
feat(webdriver): support page.setExtraHTTPHeaders
Source-Link:
140f012

feat(webdriver): support priority for request interception
Source-Link:
08bc854

feat(webdriver): basic support for HTTPRequest.respond()
Source-Link:
cd88110
OrKoN pushed a commit to puppeteer/puppeteer that referenced this issue Apr 16, 2024
The provides support for Network interception for the WebDriver
protocol.
More information on current state of WebDriver support can be found
[here](https://pptr.dev/webdriver-bidi).
This is a Puppteer side implementation for the Network interception
feature,
some vendors may not support all properties that you can send through
Puppeteer, please be aware.

The following issues track state of vendor implementation, that
Puppeteer relies on:
Chrome: GoogleChromeLabs/chromium-bidi#2035
Firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=1853882 and
https://bugzilla.mozilla.org/show_bug.cgi?id=1850680
OrKoN pushed a commit to puppeteer/puppeteer that referenced this issue Apr 16, 2024
The provides support for Network interception for the WebDriver protocol.
More information on current state of WebDriver support can be found here: https://pptr.dev/webdriver-bidi.
This is a Puppeteer side implementation for the Network interception feature,
some vendors may not support all properties that you can send through Puppeteer, please be aware.

The following issues track state of vendor implementation, that Puppeteer relies on:
Chrome GoogleChromeLabs/chromium-bidi#2035
Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=1853882 and https://bugzilla.mozilla.org/show_bug.cgi?id=1850680
@Lightning00Blade
Copy link
Collaborator Author

Closing will track on edge case on it's own issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant