@browserless.io/browserless 2.3.0-beta-1 → 2.3.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.
- package/CHANGELOG.md +9 -1
- package/README.md +2 -2
- package/bin/browserless.js +47 -18
- package/bin/scaffold/README.md +50 -0
- package/bin/scaffold/src/hello-world.http.ts +2 -1
- package/build/browserless.d.ts +3 -5
- package/build/browserless.js +17 -11
- package/build/browsers/chrome.cdp.js +1 -1
- package/build/browsers/chrome.playwright.js +1 -1
- package/build/browsers/index.d.ts +1 -0
- package/build/browsers/index.js +4 -1
- package/build/data/classes.json +1 -1
- package/build/data/selectors.json +1 -1
- package/build/exports.d.ts +24 -38
- package/build/exports.js +25 -44
- package/build/limiter.d.ts +2 -1
- package/build/limiter.js +6 -3
- package/build/routes/chrome/http/content.post.body.json +8 -8
- package/build/routes/chrome/http/content.post.d.ts +2 -1
- package/build/routes/chrome/http/content.post.js +3 -2
- package/build/routes/chrome/http/download.post.body.json +11 -489
- package/build/routes/chrome/http/download.post.d.ts +2 -1
- package/build/routes/chrome/http/download.post.js +3 -2
- package/build/routes/chrome/http/download.post.query.json +6 -69
- package/build/routes/chrome/http/download.post.response.json +0 -1
- package/build/routes/chrome/http/function.post.body.json +11 -489
- package/build/routes/chrome/http/function.post.d.ts +2 -1
- package/build/routes/chrome/http/function.post.js +3 -2
- package/build/routes/chrome/http/function.post.query.json +6 -69
- package/build/routes/chrome/http/function.post.response.json +0 -1
- package/build/routes/chrome/http/json-list.get.d.ts +5 -1
- package/build/routes/chrome/http/json-list.get.js +5 -1
- package/build/routes/chrome/http/json-list.get.response.json +49 -1
- package/build/routes/chrome/http/json-new.put.d.ts +5 -1
- package/build/routes/chrome/http/json-new.put.js +5 -1
- package/build/routes/chrome/http/json-new.put.response.json +41 -1
- package/build/routes/chrome/http/json-protocol.get.d.ts +5 -1
- package/build/routes/chrome/http/json-protocol.get.js +5 -1
- package/build/routes/chrome/http/json-protocol.get.response.json +3 -1
- package/build/routes/chrome/http/json-version.get.d.ts +5 -1
- package/build/routes/chrome/http/json-version.get.js +5 -1
- package/build/routes/chrome/http/json-version.get.response.json +41 -1
- package/build/routes/chrome/http/pdf.post.body.json +153 -9
- package/build/routes/chrome/http/pdf.post.d.ts +2 -1
- package/build/routes/chrome/http/pdf.post.js +3 -2
- package/build/routes/chrome/http/pdf.post.query.json +6 -69
- package/build/routes/chrome/http/performance.post.body.json +10 -494
- package/build/routes/chrome/http/performance.post.d.ts +2 -1
- package/build/routes/chrome/http/performance.post.js +3 -2
- package/build/routes/chrome/http/performance.post.query.json +6 -69
- package/build/routes/chrome/http/performance.post.response.json +3 -1
- package/build/routes/chrome/http/scrape.post.body.json +56 -9
- package/build/routes/chrome/http/scrape.post.d.ts +2 -1
- package/build/routes/chrome/http/scrape.post.js +3 -2
- package/build/routes/chrome/http/scrape.post.response.json +305 -1
- package/build/routes/chrome/http/screenshot.post.body.json +99 -9
- package/build/routes/chrome/http/screenshot.post.d.ts +2 -1
- package/build/routes/chrome/http/screenshot.post.js +3 -2
- package/build/routes/chrome/http/screenshot.post.query.json +6 -69
- package/build/routes/chrome/ws/browser.d.ts +2 -1
- package/build/routes/chrome/ws/browser.js +3 -2
- package/build/routes/chrome/ws/browser.query.json +6 -69
- package/build/routes/chrome/ws/cdp.d.ts +2 -1
- package/build/routes/chrome/ws/cdp.js +3 -2
- package/build/routes/chrome/ws/cdp.query.json +6 -69
- package/build/routes/chrome/ws/page.d.ts +3 -2
- package/build/routes/chrome/ws/page.js +3 -2
- package/build/routes/chrome/ws/page.query.json +6 -69
- package/build/routes/chrome/ws/playwright.d.ts +1 -0
- package/build/routes/chrome/ws/playwright.js +2 -1
- package/build/routes/chrome/ws/playwright.query.json +7 -90
- package/build/routes/chromium/http/content.post.body.json +8 -8
- package/build/routes/chromium/http/download.post.body.json +11 -489
- package/build/routes/chromium/http/download.post.query.json +6 -69
- package/build/routes/chromium/http/download.post.response.json +0 -1
- package/build/routes/chromium/http/function.post.body.json +11 -489
- package/build/routes/chromium/http/function.post.query.json +6 -69
- package/build/routes/chromium/http/function.post.response.json +0 -1
- package/build/routes/chromium/http/json-list.get.response.json +49 -1
- package/build/routes/chromium/http/json-new.put.response.json +41 -1
- package/build/routes/chromium/http/json-protocol.get.response.json +3 -1
- package/build/routes/chromium/http/json-version.get.response.json +41 -1
- package/build/routes/chromium/http/pdf.post.body.json +153 -9
- package/build/routes/chromium/http/pdf.post.query.json +6 -69
- package/build/routes/chromium/http/performance.post.body.json +10 -494
- package/build/routes/chromium/http/performance.post.query.json +6 -69
- package/build/routes/chromium/http/performance.post.response.json +3 -1
- package/build/routes/chromium/http/scrape.post.body.json +56 -9
- package/build/routes/chromium/http/scrape.post.response.json +305 -1
- package/build/routes/chromium/http/screenshot.post.body.json +99 -9
- package/build/routes/chromium/http/screenshot.post.query.json +6 -69
- package/build/routes/chromium/ws/browser.query.json +6 -69
- package/build/routes/chromium/ws/cdp.query.json +6 -69
- package/build/routes/chromium/ws/page.query.json +6 -69
- package/build/routes/chromium/ws/playwright.query.json +7 -90
- package/build/routes/firefox/ws/playwright.d.ts +2 -1
- package/build/routes/firefox/ws/playwright.js +3 -2
- package/build/routes/firefox/ws/playwright.query.json +30 -115
- package/build/routes/management/http/config.get.d.ts +1 -0
- package/build/routes/management/http/config.get.js +2 -1
- package/build/routes/management/http/config.get.response.json +104 -1
- package/build/routes/management/http/metrics-total.get.d.ts +1 -0
- package/build/routes/management/http/metrics-total.get.js +2 -1
- package/build/routes/management/http/metrics-total.get.response.json +69 -1
- package/build/routes/management/http/metrics.get.d.ts +1 -0
- package/build/routes/management/http/metrics.get.js +2 -1
- package/build/routes/management/http/metrics.get.response.json +91 -1
- package/build/routes/management/http/sessions.get.d.ts +1 -0
- package/build/routes/management/http/sessions.get.js +2 -1
- package/build/routes/management/http/sessions.get.response.json +232 -1
- package/build/routes/management/http/static.get.d.ts +1 -0
- package/build/routes/management/http/static.get.js +2 -1
- package/build/routes/webkit/ws/playwright.d.ts +2 -1
- package/build/routes/webkit/ws/playwright.js +3 -2
- package/build/routes/webkit/ws/playwright.query.json +7 -90
- package/build/shared/browser.ws.d.ts +2 -1
- package/build/shared/browser.ws.js +3 -2
- package/build/shared/chromium.playwright.ws.d.ts +2 -1
- package/build/shared/chromium.playwright.ws.js +3 -2
- package/build/shared/chromium.ws.d.ts +2 -1
- package/build/shared/chromium.ws.js +3 -2
- package/build/shared/content.http.d.ts +2 -1
- package/build/shared/content.http.js +3 -2
- package/build/shared/download.http.d.ts +2 -1
- package/build/shared/download.http.js +3 -2
- package/build/shared/function.http.d.ts +2 -1
- package/build/shared/function.http.js +3 -2
- package/build/shared/json-list.http.d.ts +2 -1
- package/build/shared/json-list.http.js +3 -2
- package/build/shared/json-new.http.d.ts +2 -1
- package/build/shared/json-new.http.js +3 -2
- package/build/shared/json-protocol.http.d.ts +2 -1
- package/build/shared/json-protocol.http.js +3 -2
- package/build/shared/json-version.http.d.ts +2 -1
- package/build/shared/json-version.http.js +3 -2
- package/build/shared/page.ws.d.ts +2 -1
- package/build/shared/page.ws.js +3 -2
- package/build/shared/pdf.http.d.ts +2 -1
- package/build/shared/pdf.http.js +3 -2
- package/build/shared/performance.http.d.ts +1 -0
- package/build/shared/performance.http.js +2 -1
- package/build/shared/scrape.http.d.ts +2 -1
- package/build/shared/scrape.http.js +3 -2
- package/build/shared/screenshot.http.d.ts +1 -0
- package/build/shared/screenshot.http.js +2 -1
- package/build/types.d.ts +91 -0
- package/build/types.js +54 -0
- package/build/utils.d.ts +1 -1
- package/build/utils.js +11 -6
- package/docker/chrome/Dockerfile +0 -2
- package/docker/chromium/Dockerfile +1 -4
- package/docker/firefox/Dockerfile +1 -4
- package/docker/multi/Dockerfile +2 -6
- package/docker/webkit/Dockerfile +1 -4
- package/package.json +11 -10
- package/scripts/build-open-api.js +150 -141
- package/scripts/build-schemas.js +3 -2
- package/src/browserless.ts +43 -30
- package/src/browsers/chrome.cdp.ts +1 -1
- package/src/browsers/chrome.playwright.ts +1 -1
- package/src/browsers/index.ts +5 -1
- package/src/exports.ts +25 -49
- package/src/limiter.ts +7 -3
- package/src/routes/chrome/http/content.post.ts +7 -2
- package/src/routes/chrome/http/download.post.ts +7 -2
- package/src/routes/chrome/http/function.post.ts +7 -2
- package/src/routes/chrome/http/json-list.get.ts +7 -1
- package/src/routes/chrome/http/json-new.put.ts +7 -1
- package/src/routes/chrome/http/json-protocol.get.ts +7 -1
- package/src/routes/chrome/http/json-version.get.ts +7 -1
- package/src/routes/chrome/http/pdf.post.ts +7 -2
- package/src/routes/chrome/http/performance.post.ts +7 -2
- package/src/routes/chrome/http/scrape.post.ts +7 -2
- package/src/routes/chrome/http/screenshot.post.ts +7 -2
- package/src/routes/chrome/ws/browser.ts +3 -2
- package/src/routes/chrome/ws/cdp.ts +7 -2
- package/src/routes/chrome/ws/page.ts +3 -2
- package/src/routes/chrome/ws/playwright.ts +6 -1
- package/src/routes/firefox/ws/playwright.ts +3 -1
- package/src/routes/management/http/config.get.ts +2 -0
- package/src/routes/management/http/metrics-total.get.ts +2 -0
- package/src/routes/management/http/metrics.get.ts +2 -0
- package/src/routes/management/http/sessions.get.ts +2 -0
- package/src/routes/management/http/static.get.ts +2 -0
- package/src/routes/webkit/ws/playwright.ts +3 -1
- package/src/shared/browser.ws.ts +3 -1
- package/src/shared/chromium.playwright.ws.ts +3 -1
- package/src/shared/chromium.ws.ts +3 -1
- package/src/shared/content.http.ts +3 -1
- package/src/shared/download.http.ts +3 -1
- package/src/shared/function.http.ts +3 -1
- package/src/shared/json-list.http.ts +3 -1
- package/src/shared/json-new.http.ts +3 -1
- package/src/shared/json-protocol.http.ts +3 -1
- package/src/shared/json-version.http.ts +3 -1
- package/src/shared/page.ws.ts +3 -1
- package/src/shared/pdf.http.ts +3 -1
- package/src/shared/performance.http.ts +2 -0
- package/src/shared/scrape.http.ts +3 -1
- package/src/shared/screenshot.http.ts +2 -0
- package/src/types.ts +66 -0
- package/src/utils.ts +13 -7
- package/static/docs/swagger.json +2511 -1520
- package/static/docs/swagger.min.json +6697 -0
- package/static/function/client.js +323 -323
- package/build/exports.core.d.ts +0 -24
- package/build/exports.core.js +0 -26
- package/src/exports.core.ts +0 -26
package/src/limiter.ts
CHANGED
|
@@ -77,6 +77,10 @@ export class Limiter extends q {
|
|
|
77
77
|
this.logQueue('All jobs complete.');
|
|
78
78
|
}
|
|
79
79
|
|
|
80
|
+
protected jobEnd(jobInfo: AfterResponse) {
|
|
81
|
+
afterRequest(jobInfo);
|
|
82
|
+
}
|
|
83
|
+
|
|
80
84
|
protected handleSuccess({ detail: { job } }: { detail: { job: Job } }) {
|
|
81
85
|
const timeUsed = Date.now() - job.start;
|
|
82
86
|
this.debug(
|
|
@@ -84,7 +88,7 @@ export class Limiter extends q {
|
|
|
84
88
|
);
|
|
85
89
|
this.metrics.addSuccessful(Date.now() - job.start);
|
|
86
90
|
// @TODO Figure out a better argument handling for jobs
|
|
87
|
-
|
|
91
|
+
this.jobEnd({
|
|
88
92
|
req: job.args[0],
|
|
89
93
|
start: job.start,
|
|
90
94
|
status: 'successful',
|
|
@@ -104,7 +108,7 @@ export class Limiter extends q {
|
|
|
104
108
|
this.webhooks.callTimeoutAlertURL();
|
|
105
109
|
this.debug(`Calling timeout handler`);
|
|
106
110
|
job?.onTimeoutFn(job);
|
|
107
|
-
|
|
111
|
+
this.jobEnd({
|
|
108
112
|
req: job.args[0],
|
|
109
113
|
start: job.start,
|
|
110
114
|
status: 'timedout',
|
|
@@ -121,7 +125,7 @@ export class Limiter extends q {
|
|
|
121
125
|
this.debug(`Recording failed stat, cleaning up: "${error?.toString()}"`);
|
|
122
126
|
this.metrics.addError(Date.now() - job.start);
|
|
123
127
|
this.webhooks.callErrorAlertURL(error?.toString() ?? 'Unknown Error');
|
|
124
|
-
|
|
128
|
+
this.jobEnd({
|
|
125
129
|
req: job.args[0],
|
|
126
130
|
start: job.start,
|
|
127
131
|
status: 'error',
|
|
@@ -4,9 +4,14 @@ import {
|
|
|
4
4
|
QuerySchema,
|
|
5
5
|
ResponseSchema,
|
|
6
6
|
} from '../../../shared/content.http.js';
|
|
7
|
-
import {
|
|
7
|
+
import {
|
|
8
|
+
BrowserlessRoutes,
|
|
9
|
+
ChromeCDP,
|
|
10
|
+
HTTPRoutes,
|
|
11
|
+
} from '@browserless.io/browserless';
|
|
8
12
|
|
|
9
|
-
export default class
|
|
13
|
+
export default class ChromeContentPostRoute extends Content {
|
|
14
|
+
name = BrowserlessRoutes.ChromeContentPostRoute;
|
|
10
15
|
browser = ChromeCDP;
|
|
11
16
|
path = [HTTPRoutes.chromeContent];
|
|
12
17
|
}
|
|
@@ -4,9 +4,14 @@ import {
|
|
|
4
4
|
QuerySchema,
|
|
5
5
|
ResponseSchema,
|
|
6
6
|
} from '../../../shared/download.http.js';
|
|
7
|
-
import {
|
|
7
|
+
import {
|
|
8
|
+
BrowserlessRoutes,
|
|
9
|
+
ChromeCDP,
|
|
10
|
+
HTTPRoutes,
|
|
11
|
+
} from '@browserless.io/browserless';
|
|
8
12
|
|
|
9
|
-
export default class
|
|
13
|
+
export default class ChromeDownloadPostRoute extends Download {
|
|
14
|
+
name = BrowserlessRoutes.ChromeDownloadPostRoute;
|
|
10
15
|
browser = ChromeCDP;
|
|
11
16
|
path = [HTTPRoutes.chromeDownload];
|
|
12
17
|
}
|
|
@@ -4,9 +4,14 @@ import {
|
|
|
4
4
|
QuerySchema,
|
|
5
5
|
ResponseSchema,
|
|
6
6
|
} from '../../../shared/function.http.js';
|
|
7
|
-
import {
|
|
7
|
+
import {
|
|
8
|
+
BrowserlessRoutes,
|
|
9
|
+
ChromeCDP,
|
|
10
|
+
HTTPRoutes,
|
|
11
|
+
} from '@browserless.io/browserless';
|
|
8
12
|
|
|
9
|
-
export default class
|
|
13
|
+
export default class ChromeFunctionPostRoute extends Function {
|
|
14
|
+
name = BrowserlessRoutes.ChromeFunctionPostRoute;
|
|
10
15
|
browser = ChromeCDP;
|
|
11
16
|
path = [HTTPRoutes.chromeFunction];
|
|
12
17
|
}
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
import { BrowserlessRoutes } from '@browserless.io/browserless';
|
|
2
|
+
export { ResponseSchema } from '../../../shared/json-list.http.js';
|
|
3
|
+
import { default as ChromiumJSONListGetRoute } from '../../../shared/json-list.http.js';
|
|
4
|
+
|
|
5
|
+
export default class ChromeJSONListGetRoute extends ChromiumJSONListGetRoute {
|
|
6
|
+
name = BrowserlessRoutes.ChromeJSONListGetRoute;
|
|
7
|
+
}
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
import { BrowserlessRoutes } from '@browserless.io/browserless';
|
|
2
|
+
export { ResponseSchema } from '../../../shared/json-new.http.js';
|
|
3
|
+
import { default as ChromiumJSONNewPutRoute } from '../../../shared/json-new.http.js';
|
|
4
|
+
|
|
5
|
+
export default class ChromeJSONNewPutRoute extends ChromiumJSONNewPutRoute {
|
|
6
|
+
name = BrowserlessRoutes.ChromeJSONNewPutRoute;
|
|
7
|
+
}
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
import { BrowserlessRoutes } from '@browserless.io/browserless';
|
|
2
|
+
export { ResponseSchema } from '../../../shared/json-protocol.http.js';
|
|
3
|
+
import { default as ChromiumJSONProtocolGetRoute } from '../../../shared/json-protocol.http.js';
|
|
4
|
+
|
|
5
|
+
export default class ChromeJSONProtocolGetRoute extends ChromiumJSONProtocolGetRoute {
|
|
6
|
+
name = BrowserlessRoutes.ChromeJSONProtocolGetRoute;
|
|
7
|
+
}
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
import { BrowserlessRoutes } from '@browserless.io/browserless';
|
|
2
|
+
export { ResponseSchema } from '../../../shared/json-version.http.js';
|
|
3
|
+
import { default as ChromiumJSONVersionGetRoute } from '../../../shared/json-version.http.js';
|
|
4
|
+
|
|
5
|
+
export default class ChromeJSONVersionGetRoute extends ChromiumJSONVersionGetRoute {
|
|
6
|
+
name = BrowserlessRoutes.ChromeJSONVersionGetRoute;
|
|
7
|
+
}
|
|
@@ -4,9 +4,14 @@ import {
|
|
|
4
4
|
QuerySchema,
|
|
5
5
|
ResponseSchema,
|
|
6
6
|
} from '../../../shared/pdf.http.js';
|
|
7
|
-
import {
|
|
7
|
+
import {
|
|
8
|
+
BrowserlessRoutes,
|
|
9
|
+
ChromeCDP,
|
|
10
|
+
HTTPRoutes,
|
|
11
|
+
} from '@browserless.io/browserless';
|
|
8
12
|
|
|
9
|
-
export default class
|
|
13
|
+
export default class ChromePDFPostRoute extends PDF {
|
|
14
|
+
name = BrowserlessRoutes.ChromePDFPostRoute;
|
|
10
15
|
browser = ChromeCDP;
|
|
11
16
|
path = [HTTPRoutes.chromePdf];
|
|
12
17
|
}
|
|
@@ -4,9 +4,14 @@ import {
|
|
|
4
4
|
QuerySchema,
|
|
5
5
|
ResponseSchema,
|
|
6
6
|
} from '../../../shared/performance.http.js';
|
|
7
|
-
import {
|
|
7
|
+
import {
|
|
8
|
+
BrowserlessRoutes,
|
|
9
|
+
ChromeCDP,
|
|
10
|
+
HTTPRoutes,
|
|
11
|
+
} from '@browserless.io/browserless';
|
|
8
12
|
|
|
9
|
-
export default class
|
|
13
|
+
export default class ChromePerformancePostRoute extends Performance {
|
|
14
|
+
name = BrowserlessRoutes.ChromePerformancePostRoute;
|
|
10
15
|
browser = ChromeCDP;
|
|
11
16
|
path = [HTTPRoutes.chromePerformance];
|
|
12
17
|
}
|
|
@@ -4,9 +4,14 @@ import {
|
|
|
4
4
|
ResponseSchema,
|
|
5
5
|
default as Scrape,
|
|
6
6
|
} from '../../../shared/scrape.http.js';
|
|
7
|
-
import {
|
|
7
|
+
import {
|
|
8
|
+
BrowserlessRoutes,
|
|
9
|
+
ChromeCDP,
|
|
10
|
+
HTTPRoutes,
|
|
11
|
+
} from '@browserless.io/browserless';
|
|
8
12
|
|
|
9
|
-
export default class
|
|
13
|
+
export default class ChromeScrapePostRoute extends Scrape {
|
|
14
|
+
name = BrowserlessRoutes.ChromeScrapePostRoute;
|
|
10
15
|
browser = ChromeCDP;
|
|
11
16
|
path = [HTTPRoutes.chromeScrape];
|
|
12
17
|
}
|
|
@@ -4,9 +4,14 @@ import {
|
|
|
4
4
|
ResponseSchema,
|
|
5
5
|
default as Screenshot,
|
|
6
6
|
} from '../../../shared/screenshot.http.js';
|
|
7
|
-
import {
|
|
7
|
+
import {
|
|
8
|
+
BrowserlessRoutes,
|
|
9
|
+
ChromeCDP,
|
|
10
|
+
HTTPRoutes,
|
|
11
|
+
} from '@browserless.io/browserless';
|
|
8
12
|
|
|
9
|
-
export default class
|
|
13
|
+
export default class ChromeScreenshotPostRoute extends Screenshot {
|
|
14
|
+
name = BrowserlessRoutes.ChromeScreenshotPostRoute;
|
|
10
15
|
browser = ChromeCDP;
|
|
11
16
|
path = [HTTPRoutes.chromeScreenshot];
|
|
12
17
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { default as Browser, QuerySchema } from '../../../shared/browser.ws.js';
|
|
2
|
-
import { ChromeCDP } from '@browserless.io/browserless';
|
|
2
|
+
import { BrowserlessRoutes, ChromeCDP } from '@browserless.io/browserless';
|
|
3
3
|
|
|
4
|
-
export default class
|
|
4
|
+
export default class ChromeBrowserWebSocketRoute extends Browser {
|
|
5
|
+
name = BrowserlessRoutes.ChromeBrowserWebSocketRoute;
|
|
5
6
|
browser = ChromeCDP;
|
|
6
7
|
}
|
|
7
8
|
|
|
@@ -1,10 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
BrowserlessRoutes,
|
|
3
|
+
ChromeCDP,
|
|
4
|
+
WebsocketRoutes,
|
|
5
|
+
} from '@browserless.io/browserless';
|
|
2
6
|
import {
|
|
3
7
|
default as ChromiumWebSocketRoute,
|
|
4
8
|
QuerySchema,
|
|
5
9
|
} from '../../../shared/chromium.ws.js';
|
|
6
10
|
|
|
7
|
-
export default class
|
|
11
|
+
export default class ChromeCDPWebSocketRoute extends ChromiumWebSocketRoute {
|
|
12
|
+
name = BrowserlessRoutes.ChromeCDPWebSocketRoute;
|
|
8
13
|
browser = ChromeCDP;
|
|
9
14
|
path = [WebsocketRoutes.chrome];
|
|
10
15
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { BrowserlessRoutes, ChromeCDP } from '@browserless.io/browserless';
|
|
1
2
|
import { default as Page, QuerySchema } from '../../../shared/page.ws.js';
|
|
2
|
-
import { ChromeCDP } from '@browserless.io/browserless';
|
|
3
3
|
|
|
4
|
-
export default class
|
|
4
|
+
export default class ChromePageWebSocketRoute extends Page {
|
|
5
|
+
name = BrowserlessRoutes.ChromePageWebSocketRoute;
|
|
5
6
|
browser = ChromeCDP;
|
|
6
7
|
}
|
|
7
8
|
|
|
@@ -1,10 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
BrowserlessRoutes,
|
|
3
|
+
ChromePlaywright,
|
|
4
|
+
WebsocketRoutes,
|
|
5
|
+
} from '@browserless.io/browserless';
|
|
2
6
|
import {
|
|
3
7
|
default as ChromiumPlaywrightWebSocketRoute,
|
|
4
8
|
QuerySchema,
|
|
5
9
|
} from '../../../shared/chromium.playwright.ws.js';
|
|
6
10
|
|
|
7
11
|
export default class ChromePlaywrightWebSocketRoute extends ChromiumPlaywrightWebSocketRoute {
|
|
12
|
+
name = BrowserlessRoutes.ChromePlaywrightWebSocketRoute;
|
|
8
13
|
browser = ChromePlaywright;
|
|
9
14
|
path = [WebsocketRoutes.chromePlaywright];
|
|
10
15
|
}
|
|
@@ -3,6 +3,7 @@ import {
|
|
|
3
3
|
BadRequest,
|
|
4
4
|
BrowserServerOptions,
|
|
5
5
|
BrowserWebsocketRoute,
|
|
6
|
+
BrowserlessRoutes,
|
|
6
7
|
FirefoxPlaywright,
|
|
7
8
|
Request,
|
|
8
9
|
SystemQueryParameters,
|
|
@@ -16,7 +17,8 @@ export interface QuerySchema extends SystemQueryParameters {
|
|
|
16
17
|
};
|
|
17
18
|
}
|
|
18
19
|
|
|
19
|
-
export default class
|
|
20
|
+
export default class FirefoxPlaywrightWebSocketRoute extends BrowserWebsocketRoute {
|
|
21
|
+
name = BrowserlessRoutes.FirefoxPlaywrightWebSocketRoute;
|
|
20
22
|
auth = true;
|
|
21
23
|
browser = FirefoxPlaywright;
|
|
22
24
|
concurrency = true;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
APITags,
|
|
3
|
+
BrowserlessRoutes,
|
|
3
4
|
HTTPManagementRoutes,
|
|
4
5
|
HTTPRoute,
|
|
5
6
|
Methods,
|
|
@@ -33,6 +34,7 @@ export interface ResponseSchema {
|
|
|
33
34
|
}
|
|
34
35
|
|
|
35
36
|
export default class ConfigGetRoute extends HTTPRoute {
|
|
37
|
+
name = BrowserlessRoutes.ConfigGetRoute;
|
|
36
38
|
accepts = [contentTypes.any];
|
|
37
39
|
auth = true;
|
|
38
40
|
browser = null;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
APITags,
|
|
3
|
+
BrowserlessRoutes,
|
|
3
4
|
HTTPManagementRoutes,
|
|
4
5
|
HTTPRoute,
|
|
5
6
|
IBrowserlessMetricTotals,
|
|
@@ -15,6 +16,7 @@ export type ResponseSchema = IBrowserlessMetricTotals;
|
|
|
15
16
|
const fiveMinuteIntervalsInAMonth = 8640;
|
|
16
17
|
|
|
17
18
|
export default class MetricsTotalGetRoute extends HTTPRoute {
|
|
19
|
+
name = BrowserlessRoutes.MetricsTotalGetRoute;
|
|
18
20
|
accepts = [contentTypes.any];
|
|
19
21
|
auth = true;
|
|
20
22
|
browser = null;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
APITags,
|
|
3
|
+
BrowserlessRoutes,
|
|
3
4
|
HTTPManagementRoutes,
|
|
4
5
|
HTTPRoute,
|
|
5
6
|
IBrowserlessStats,
|
|
@@ -13,6 +14,7 @@ import { ServerResponse } from 'http';
|
|
|
13
14
|
export type ResponseSchema = Array<IBrowserlessStats>;
|
|
14
15
|
|
|
15
16
|
export default class MetricsGetRoute extends HTTPRoute {
|
|
17
|
+
name = BrowserlessRoutes.MetricsGetRoute;
|
|
16
18
|
accepts = [contentTypes.any];
|
|
17
19
|
auth = true;
|
|
18
20
|
browser = null;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
APITags,
|
|
3
|
+
BrowserlessRoutes,
|
|
3
4
|
BrowserlessSessionJSON,
|
|
4
5
|
HTTPManagementRoutes,
|
|
5
6
|
HTTPRoute,
|
|
@@ -13,6 +14,7 @@ import { ServerResponse } from 'http';
|
|
|
13
14
|
export type ResponseSchema = BrowserlessSessionJSON[];
|
|
14
15
|
|
|
15
16
|
export default class SessionsGetRoute extends HTTPRoute {
|
|
17
|
+
name = BrowserlessRoutes.SessionsGetRoute;
|
|
16
18
|
accepts = [contentTypes.any];
|
|
17
19
|
auth = true;
|
|
18
20
|
browser = null;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
APITags,
|
|
3
|
+
BrowserlessRoutes,
|
|
3
4
|
HTTPManagementRoutes,
|
|
4
5
|
HTTPRoute,
|
|
5
6
|
Methods,
|
|
@@ -48,6 +49,7 @@ const streamFile = (
|
|
|
48
49
|
});
|
|
49
50
|
|
|
50
51
|
export default class StaticGetRoute extends HTTPRoute {
|
|
52
|
+
name = BrowserlessRoutes.StaticGetRoute;
|
|
51
53
|
accepts = [contentTypes.any];
|
|
52
54
|
auth = false;
|
|
53
55
|
browser = null;
|
|
@@ -3,6 +3,7 @@ import {
|
|
|
3
3
|
BadRequest,
|
|
4
4
|
BrowserServerOptions,
|
|
5
5
|
BrowserWebsocketRoute,
|
|
6
|
+
BrowserlessRoutes,
|
|
6
7
|
Request,
|
|
7
8
|
SystemQueryParameters,
|
|
8
9
|
WebkitPlaywright,
|
|
@@ -14,7 +15,8 @@ export interface QuerySchema extends SystemQueryParameters {
|
|
|
14
15
|
launch?: BrowserServerOptions | string;
|
|
15
16
|
}
|
|
16
17
|
|
|
17
|
-
export default class
|
|
18
|
+
export default class WebKitPlaywrightWebSocketRoute extends BrowserWebsocketRoute {
|
|
19
|
+
name = BrowserlessRoutes.WebKitPlaywrightWebSocketRoute;
|
|
18
20
|
auth = true;
|
|
19
21
|
browser = WebkitPlaywright;
|
|
20
22
|
concurrency = true;
|
package/src/shared/browser.ws.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
APITags,
|
|
3
3
|
BrowserWebsocketRoute,
|
|
4
|
+
BrowserlessRoutes,
|
|
4
5
|
CDPLaunchOptions,
|
|
5
6
|
ChromiumCDP,
|
|
6
7
|
Request,
|
|
@@ -14,7 +15,8 @@ export interface QuerySchema extends SystemQueryParameters {
|
|
|
14
15
|
launch?: CDPLaunchOptions | string;
|
|
15
16
|
}
|
|
16
17
|
|
|
17
|
-
export default class
|
|
18
|
+
export default class ChromiumBrowserWebSocketRoute extends BrowserWebsocketRoute {
|
|
19
|
+
name = BrowserlessRoutes.ChromiumBrowserWebSocketRoute;
|
|
18
20
|
auth = true;
|
|
19
21
|
browser = ChromiumCDP;
|
|
20
22
|
concurrency = true;
|
|
@@ -3,6 +3,7 @@ import {
|
|
|
3
3
|
BadRequest,
|
|
4
4
|
BrowserServerOptions,
|
|
5
5
|
BrowserWebsocketRoute,
|
|
6
|
+
BrowserlessRoutes,
|
|
6
7
|
ChromiumPlaywright,
|
|
7
8
|
Request,
|
|
8
9
|
SystemQueryParameters,
|
|
@@ -14,7 +15,8 @@ export interface QuerySchema extends SystemQueryParameters {
|
|
|
14
15
|
launch?: BrowserServerOptions | string;
|
|
15
16
|
}
|
|
16
17
|
|
|
17
|
-
export default class
|
|
18
|
+
export default class ChromiumPlaywrightWebSocketRoute extends BrowserWebsocketRoute {
|
|
19
|
+
name = BrowserlessRoutes.ChromiumPlaywrightWebSocketRoute;
|
|
18
20
|
auth = true;
|
|
19
21
|
browser = ChromiumPlaywright;
|
|
20
22
|
concurrency = true;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
APITags,
|
|
3
3
|
BrowserWebsocketRoute,
|
|
4
|
+
BrowserlessRoutes,
|
|
4
5
|
CDPLaunchOptions,
|
|
5
6
|
ChromiumCDP,
|
|
6
7
|
Request,
|
|
@@ -13,7 +14,8 @@ export interface QuerySchema extends SystemQueryParameters {
|
|
|
13
14
|
launch?: CDPLaunchOptions | string;
|
|
14
15
|
}
|
|
15
16
|
|
|
16
|
-
export default class
|
|
17
|
+
export default class ChromiumCDPWebSocketRoute extends BrowserWebsocketRoute {
|
|
18
|
+
name = BrowserlessRoutes.ChromiumCDPWebSocketRoute;
|
|
17
19
|
auth = true;
|
|
18
20
|
browser = ChromiumCDP;
|
|
19
21
|
concurrency = true;
|
|
@@ -3,6 +3,7 @@ import {
|
|
|
3
3
|
BadRequest,
|
|
4
4
|
BrowserHTTPRoute,
|
|
5
5
|
BrowserInstance,
|
|
6
|
+
BrowserlessRoutes,
|
|
6
7
|
CDPLaunchOptions,
|
|
7
8
|
ChromiumCDP,
|
|
8
9
|
HTTPRoutes,
|
|
@@ -62,7 +63,8 @@ export type QuerySchema = SystemQueryParameters & {
|
|
|
62
63
|
launch?: CDPLaunchOptions | string;
|
|
63
64
|
};
|
|
64
65
|
|
|
65
|
-
export default class
|
|
66
|
+
export default class ChromiumContentPostRoute extends BrowserHTTPRoute {
|
|
67
|
+
name = BrowserlessRoutes.ChromiumContentPostRoute;
|
|
66
68
|
accepts = [contentTypes.json];
|
|
67
69
|
auth = true;
|
|
68
70
|
browser = ChromiumCDP;
|
|
@@ -2,6 +2,7 @@ import {
|
|
|
2
2
|
APITags,
|
|
3
3
|
BrowserHTTPRoute,
|
|
4
4
|
BrowserInstance,
|
|
5
|
+
BrowserlessRoutes,
|
|
5
6
|
CDPLaunchOptions,
|
|
6
7
|
ChromiumCDP,
|
|
7
8
|
HTTPRoutes,
|
|
@@ -40,7 +41,8 @@ export interface QuerySchema extends SystemQueryParameters {
|
|
|
40
41
|
*/
|
|
41
42
|
export type ResponseSchema = unknown;
|
|
42
43
|
|
|
43
|
-
export default class
|
|
44
|
+
export default class ChromiumDownloadPostRoute extends BrowserHTTPRoute {
|
|
45
|
+
name = BrowserlessRoutes.ChromiumDownloadPostRoute;
|
|
44
46
|
accepts = [contentTypes.json, contentTypes.javascript];
|
|
45
47
|
auth = true;
|
|
46
48
|
browser = ChromiumCDP;
|
|
@@ -3,6 +3,7 @@ import {
|
|
|
3
3
|
BadRequest,
|
|
4
4
|
BrowserHTTPRoute,
|
|
5
5
|
BrowserInstance,
|
|
6
|
+
BrowserlessRoutes,
|
|
6
7
|
CDPLaunchOptions,
|
|
7
8
|
ChromiumCDP,
|
|
8
9
|
HTTPRoutes,
|
|
@@ -37,7 +38,8 @@ export interface QuerySchema extends SystemQueryParameters {
|
|
|
37
38
|
*/
|
|
38
39
|
export type ResponseSchema = unknown;
|
|
39
40
|
|
|
40
|
-
export default class
|
|
41
|
+
export default class ChromiumFunctionPostRoute extends BrowserHTTPRoute {
|
|
42
|
+
name = BrowserlessRoutes.ChromiumFunctionPostRoute;
|
|
41
43
|
accepts = [contentTypes.json, contentTypes.javascript];
|
|
42
44
|
auth = true;
|
|
43
45
|
browser = ChromiumCDP;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
APITags,
|
|
3
|
+
BrowserlessRoutes,
|
|
3
4
|
CDPJSONPayload,
|
|
4
5
|
HTTPRoute,
|
|
5
6
|
HTTPRoutes,
|
|
@@ -13,7 +14,8 @@ import {
|
|
|
13
14
|
|
|
14
15
|
export type ResponseSchema = Array<CDPJSONPayload>;
|
|
15
16
|
|
|
16
|
-
export default class
|
|
17
|
+
export default class ChromiumJSONListGetRoute extends HTTPRoute {
|
|
18
|
+
name = BrowserlessRoutes.ChromiumJSONListGetRoute;
|
|
17
19
|
accepts = [contentTypes.any];
|
|
18
20
|
auth = true;
|
|
19
21
|
browser = null;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
APITags,
|
|
3
|
+
BrowserlessRoutes,
|
|
3
4
|
CDPJSONPayload,
|
|
4
5
|
HTTPRoute,
|
|
5
6
|
HTTPRoutes,
|
|
@@ -27,7 +28,8 @@ Example Payload from Chromium:
|
|
|
27
28
|
*/
|
|
28
29
|
export type ResponseSchema = CDPJSONPayload;
|
|
29
30
|
|
|
30
|
-
export default class
|
|
31
|
+
export default class ChromiumJSONNewPutRoute extends HTTPRoute {
|
|
32
|
+
name = BrowserlessRoutes.ChromiumJSONNewPutRoute;
|
|
31
33
|
accepts = [contentTypes.any];
|
|
32
34
|
auth = true;
|
|
33
35
|
browser = null;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
APITags,
|
|
3
|
+
BrowserlessRoutes,
|
|
3
4
|
HTTPRoute,
|
|
4
5
|
HTTPRoutes,
|
|
5
6
|
Methods,
|
|
@@ -11,9 +12,10 @@ import {
|
|
|
11
12
|
|
|
12
13
|
export type ResponseSchema = object;
|
|
13
14
|
|
|
14
|
-
export default class
|
|
15
|
+
export default class ChromiumJSONProtocolGetRoute extends HTTPRoute {
|
|
15
16
|
private cachedProtocol: object | undefined;
|
|
16
17
|
|
|
18
|
+
name = BrowserlessRoutes.ChromiumJSONProtocolGetRoute;
|
|
17
19
|
accepts = [contentTypes.any];
|
|
18
20
|
auth = true;
|
|
19
21
|
browser = null;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
APITags,
|
|
3
3
|
BrowserManager,
|
|
4
|
+
BrowserlessRoutes,
|
|
4
5
|
HTTPRoute,
|
|
5
6
|
HTTPRoutes,
|
|
6
7
|
Methods,
|
|
@@ -16,9 +17,10 @@ export type ResponseSchema = UnwrapPromise<
|
|
|
16
17
|
ReturnType<BrowserManager['getVersionJSON']>
|
|
17
18
|
>;
|
|
18
19
|
|
|
19
|
-
export default class
|
|
20
|
+
export default class ChromiumJSONVersionGetRoute extends HTTPRoute {
|
|
20
21
|
private cachedJSON: ResponseSchema | undefined;
|
|
21
22
|
|
|
23
|
+
name = BrowserlessRoutes.ChromiumJSONVersionGetRoute;
|
|
22
24
|
accepts = [contentTypes.any];
|
|
23
25
|
auth = true;
|
|
24
26
|
browser = null;
|
package/src/shared/page.ws.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
APITags,
|
|
3
3
|
BrowserWebsocketRoute,
|
|
4
|
+
BrowserlessRoutes,
|
|
4
5
|
CDPLaunchOptions,
|
|
5
6
|
ChromiumCDP,
|
|
6
7
|
Request,
|
|
@@ -14,7 +15,8 @@ export interface QuerySchema extends SystemQueryParameters {
|
|
|
14
15
|
launch?: CDPLaunchOptions | string;
|
|
15
16
|
}
|
|
16
17
|
|
|
17
|
-
export default class
|
|
18
|
+
export default class ChromiumPageWebSocketRoute extends BrowserWebsocketRoute {
|
|
19
|
+
name = BrowserlessRoutes.ChromiumPageWebSocketRoute;
|
|
18
20
|
auth = true;
|
|
19
21
|
browser = ChromiumCDP;
|
|
20
22
|
concurrency = false;
|
package/src/shared/pdf.http.ts
CHANGED
|
@@ -3,6 +3,7 @@ import {
|
|
|
3
3
|
BadRequest,
|
|
4
4
|
BrowserHTTPRoute,
|
|
5
5
|
BrowserInstance,
|
|
6
|
+
BrowserlessRoutes,
|
|
6
7
|
CDPLaunchOptions,
|
|
7
8
|
ChromiumCDP,
|
|
8
9
|
HTTPRoutes,
|
|
@@ -64,7 +65,8 @@ export interface QuerySchema extends SystemQueryParameters {
|
|
|
64
65
|
*/
|
|
65
66
|
export type ResponseSchema = string;
|
|
66
67
|
|
|
67
|
-
export default class
|
|
68
|
+
export default class ChromiumPDFPostRoute extends BrowserHTTPRoute {
|
|
69
|
+
name = BrowserlessRoutes.ChromiumPDFPostRoute;
|
|
68
70
|
accepts = [contentTypes.json];
|
|
69
71
|
auth = true;
|
|
70
72
|
browser = ChromiumCDP;
|
|
@@ -2,6 +2,7 @@ import {
|
|
|
2
2
|
APITags,
|
|
3
3
|
BrowserHTTPRoute,
|
|
4
4
|
BrowserInstance,
|
|
5
|
+
BrowserlessRoutes,
|
|
5
6
|
CDPLaunchOptions,
|
|
6
7
|
ChromiumCDP,
|
|
7
8
|
HTTPRoutes,
|
|
@@ -33,6 +34,7 @@ export interface QuerySchema extends SystemQueryParameters {
|
|
|
33
34
|
export type ResponseSchema = object;
|
|
34
35
|
|
|
35
36
|
export default class PerformancePost extends BrowserHTTPRoute {
|
|
37
|
+
name = BrowserlessRoutes.ChromiumPerformancePostRoute;
|
|
36
38
|
accepts = [contentTypes.json];
|
|
37
39
|
auth = true;
|
|
38
40
|
browser = ChromiumCDP;
|
|
@@ -3,6 +3,7 @@ import {
|
|
|
3
3
|
BadRequest,
|
|
4
4
|
BrowserHTTPRoute,
|
|
5
5
|
BrowserInstance,
|
|
6
|
+
BrowserlessRoutes,
|
|
6
7
|
CDPLaunchOptions,
|
|
7
8
|
ChromiumCDP,
|
|
8
9
|
HTTPRoutes,
|
|
@@ -199,7 +200,8 @@ const scrape = async (elements: ScrapeElementSelector[]) => {
|
|
|
199
200
|
});
|
|
200
201
|
};
|
|
201
202
|
|
|
202
|
-
export default class
|
|
203
|
+
export default class ChromiumScrapePostRoute extends BrowserHTTPRoute {
|
|
204
|
+
name = BrowserlessRoutes.ChromiumScrapePostRoute;
|
|
203
205
|
accepts = [contentTypes.json];
|
|
204
206
|
auth = true;
|
|
205
207
|
browser = ChromiumCDP;
|
|
@@ -3,6 +3,7 @@ import {
|
|
|
3
3
|
BadRequest,
|
|
4
4
|
BrowserHTTPRoute,
|
|
5
5
|
BrowserInstance,
|
|
6
|
+
BrowserlessRoutes,
|
|
6
7
|
CDPLaunchOptions,
|
|
7
8
|
ChromiumCDP,
|
|
8
9
|
HTTPRoutes,
|
|
@@ -67,6 +68,7 @@ export interface BodySchema {
|
|
|
67
68
|
}
|
|
68
69
|
|
|
69
70
|
export default class ScreenshotPost extends BrowserHTTPRoute {
|
|
71
|
+
name = BrowserlessRoutes.ChromiumScreenshotPostRoute;
|
|
70
72
|
accepts = [contentTypes.json];
|
|
71
73
|
auth = true;
|
|
72
74
|
browser = ChromiumCDP;
|