Skip to content

Commit

Permalink
fix(interception): Disable newtork caching when intercepting (puppete…
Browse files Browse the repository at this point in the history
…er#1154)

Request interception might not work properly if caching is enabled.
  • Loading branch information
aslushnikov authored and ithinkihaveacat committed Oct 31, 2017
1 parent 741a115 commit 3ed8e02
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 1 deletion.
2 changes: 2 additions & 0 deletions docs/api.md
Original file line number Diff line number Diff line change
Expand Up @@ -1007,6 +1007,8 @@ puppeteer.launch().then(async browser => {
> **NOTE** Request interception doesn't work with data URLs. Calling `abort`,
> `continue` or `respond` on requests for data URLs is a noop.
> **NOTE** Enabling request interception disables page caching.
#### page.setUserAgent(userAgent)
- `userAgent` <[string]> Specific user agent to use in this page
- returns: <[Promise]> Promise which resolves when the user agent is set.
Expand Down
5 changes: 4 additions & 1 deletion lib/NetworkManager.js
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,10 @@ class NetworkManager extends EventEmitter {
return;
this._protocolRequestInterceptionEnabled = enabled;
const patterns = enabled ? [{urlPattern: '*'}] : [];
await this._client.send('Network.setRequestInterception', {patterns});
await Promise.all([
this._client.send('Network.setCacheDisabled', {cacheDisabled: enabled}),
this._client.send('Network.setRequestInterception', {patterns})
]);
}

/**
Expand Down

0 comments on commit 3ed8e02

Please sign in to comment.