browserless 9.11.1 → 9.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +2 -2
  2. package/src/index.js +40 -37
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "browserless",
3
3
  "description": "The headless Chrome/Chromium performance driver for Node.js",
4
4
  "homepage": "https://browserless.js.org",
5
- "version": "9.11.1",
5
+ "version": "9.12.0",
6
6
  "main": "src/index.js",
7
7
  "author": {
8
8
  "email": "hello@microlink.io",
@@ -62,5 +62,5 @@
62
62
  "timeout": "30s",
63
63
  "workerThreads": false
64
64
  },
65
- "gitHead": "27c817029945630ccaede934c8a7e9fa5c2800aa"
65
+ "gitHead": "a996a7bd3f068dbe800001c0399f51ddff8d901d"
66
66
  }
package/src/index.js CHANGED
@@ -107,46 +107,49 @@ module.exports = ({ timeout: globalTimeout = 30000, ...launchOpts } = {}) => {
107
107
  }
108
108
  }
109
109
 
110
- const withPage = (fn, { timeout: evaluateTimeout } = {}) => async (...args) => {
111
- let isRejected = false
112
-
113
- async function run () {
114
- let page
115
-
116
- try {
117
- page = await createPage(args)
118
- setTimeout(() => closePage(page), timeout).unref()
119
- const value = await fn(page)(...args)
120
- await closePage(page)
121
- return value
122
- } catch (error) {
123
- await closePage(page)
124
- if (!isRejected) throw ensureError(error)
125
- }
126
- }
127
-
128
- const task = () =>
129
- pRetry(run, {
130
- retries: retry,
131
- onFailedAttempt: async error => {
132
- debug('onFailedAttempt', { name: error.name, code: error.code, isRejected })
133
- if (error.name === 'AbortError') throw error
134
- if (isRejected) throw new AbortError()
135
- if (error.code === 'EBRWSRCONTEXTCONNRESET') {
136
- _contextPromise = createBrowserContext(contextOpts)
110
+ const withPage =
111
+ (fn, { timeout: evaluateTimeout } = {}) =>
112
+ async (...args) => {
113
+ let isRejected = false
114
+
115
+ async function run () {
116
+ let page
117
+
118
+ try {
119
+ page = await createPage(args)
120
+ setTimeout(() => closePage(page), timeout).unref()
121
+
122
+ const value = await fn(page, goto)(...args)
123
+ await closePage(page)
124
+ return value
125
+ } catch (error) {
126
+ await closePage(page)
127
+ if (!isRejected) throw ensureError(error)
137
128
  }
138
- const { message, attemptNumber, retriesLeft } = error
139
- debug('retry', { attemptNumber, retriesLeft, message })
140
129
  }
141
- })
142
-
143
- const timeout = evaluateTimeout || contextTimeout || globalTimeout
144
130
 
145
- return pTimeout(task(), timeout, () => {
146
- isRejected = true
147
- throw browserTimeout({ timeout })
148
- })
149
- }
131
+ const task = () =>
132
+ pRetry(run, {
133
+ retries: retry,
134
+ onFailedAttempt: async error => {
135
+ debug('onFailedAttempt', { name: error.name, code: error.code, isRejected })
136
+ if (error.name === 'AbortError') throw error
137
+ if (isRejected) throw new AbortError()
138
+ if (error.code === 'EBRWSRCONTEXTCONNRESET') {
139
+ _contextPromise = createBrowserContext(contextOpts)
140
+ }
141
+ const { message, attemptNumber, retriesLeft } = error
142
+ debug('retry', { attemptNumber, retriesLeft, message })
143
+ }
144
+ })
145
+
146
+ const timeout = evaluateTimeout || contextTimeout || globalTimeout
147
+
148
+ return pTimeout(task(), timeout, () => {
149
+ isRejected = true
150
+ throw browserTimeout({ timeout })
151
+ })
152
+ }
150
153
 
151
154
  const evaluate = (fn, gotoOpts) =>
152
155
  withPage(