@browserless.io/browserless 2.4.0-beta-1 → 2.4.0-beta-3
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 +6 -0
- package/bin/scaffold/README.md +2 -0
- package/build/browserless.d.ts +4 -2
- package/build/browserless.js +15 -2
- package/build/browsers/chromium.cdp.d.ts +1 -5
- package/build/browsers/chromium.cdp.js +5 -115
- package/build/browsers/chromium.playwright.d.ts +1 -3
- package/build/browsers/chromium.playwright.js +1 -6
- package/build/browsers/firefox.playwright.d.ts +1 -3
- package/build/browsers/firefox.playwright.js +1 -6
- package/build/browsers/index.d.ts +5 -1
- package/build/browsers/index.js +6 -5
- package/build/browsers/webkit.playwright.d.ts +1 -3
- package/build/browsers/webkit.playwright.js +1 -6
- package/build/config.d.ts +9 -0
- package/build/config.js +11 -0
- package/build/constants.d.ts +0 -1
- package/build/constants.js +0 -1
- package/build/file-system.d.ts +12 -1
- package/build/file-system.js +14 -1
- package/build/http.d.ts +0 -7
- package/build/limiter.d.ts +9 -0
- package/build/limiter.js +11 -0
- package/build/metrics.d.ts +12 -1
- package/build/metrics.js +13 -1
- package/build/monitoring.d.ts +12 -1
- package/build/monitoring.js +14 -1
- package/build/router.d.ts +12 -2
- package/build/router.js +16 -6
- package/build/routes/chrome/http/content.post.body.json +8 -8
- package/build/routes/chrome/http/content.post.query.json +0 -4
- package/build/routes/chrome/http/download.post.query.json +0 -4
- package/build/routes/chrome/http/function.post.query.json +0 -4
- package/build/routes/chrome/http/pdf.post.body.json +8 -8
- package/build/routes/chrome/http/pdf.post.query.json +0 -4
- package/build/routes/chrome/http/performance.post.query.json +0 -4
- package/build/routes/chrome/http/scrape.post.body.json +8 -8
- package/build/routes/chrome/http/scrape.post.query.json +0 -4
- package/build/routes/chrome/http/screenshot.post.body.json +8 -8
- package/build/routes/chrome/http/screenshot.post.query.json +0 -4
- package/build/routes/chrome/ws/browser.query.json +0 -4
- package/build/routes/chrome/ws/cdp.query.json +0 -4
- package/build/routes/chrome/ws/page.query.json +0 -4
- package/build/routes/chrome/ws/playwright.query.json +0 -4
- package/build/routes/chromium/http/content.post.body.json +8 -8
- package/build/routes/chromium/http/content.post.query.json +0 -4
- package/build/routes/chromium/http/download.post.query.json +0 -4
- package/build/routes/chromium/http/function.post.query.json +0 -4
- package/build/routes/chromium/http/pdf.post.body.json +8 -8
- package/build/routes/chromium/http/pdf.post.query.json +0 -4
- package/build/routes/chromium/http/performance.post.query.json +0 -4
- package/build/routes/chromium/http/scrape.post.body.json +8 -8
- package/build/routes/chromium/http/scrape.post.query.json +0 -4
- package/build/routes/chromium/http/screenshot.post.body.json +8 -8
- package/build/routes/chromium/http/screenshot.post.query.json +0 -4
- package/build/routes/chromium/ws/browser.query.json +0 -4
- package/build/routes/chromium/ws/cdp.query.json +0 -4
- package/build/routes/chromium/ws/page.query.json +0 -4
- package/build/routes/chromium/ws/playwright.query.json +0 -4
- package/build/routes/firefox/ws/playwright.query.json +0 -4
- package/build/routes/webkit/ws/playwright.query.json +0 -4
- package/build/server.d.ts +8 -3
- package/build/server.js +15 -13
- package/build/token.d.ts +12 -1
- package/build/token.js +14 -1
- package/build/types.d.ts +0 -11
- package/build/webhooks.d.ts +12 -1
- package/build/webhooks.js +14 -1
- package/extensions/.gitkeep +0 -0
- package/package.json +3 -3
- package/src/browserless.ts +15 -2
- package/src/browsers/chromium.cdp.ts +10 -157
- package/src/browsers/chromium.playwright.ts +0 -8
- package/src/browsers/firefox.playwright.ts +0 -8
- package/src/browsers/index.ts +7 -6
- package/src/browsers/webkit.playwright.ts +0 -8
- package/src/config.ts +13 -0
- package/src/constants.ts +0 -1
- package/src/file-system.ts +16 -1
- package/src/http.ts +0 -8
- package/src/limiter.ts +13 -0
- package/src/metrics.ts +16 -1
- package/src/monitoring.ts +18 -2
- package/src/router.ts +20 -9
- package/src/server.ts +18 -16
- package/src/token.ts +18 -2
- package/src/types.ts +0 -13
- package/src/webhooks.ts +18 -2
- package/static/docs/swagger.json +10 -186
- package/static/docs/swagger.min.json +9 -185
- package/extensions/screencast/background.js +0 -143
- package/extensions/screencast/content_script.js +0 -18
- package/extensions/screencast/manifest.json +0 -19
package/src/token.ts
CHANGED
|
@@ -7,9 +7,12 @@ import {
|
|
|
7
7
|
WebSocketRoute,
|
|
8
8
|
getTokenFromRequest,
|
|
9
9
|
} from '@browserless.io/browserless';
|
|
10
|
+
import { EventEmitter } from 'events';
|
|
10
11
|
|
|
11
|
-
export class Token {
|
|
12
|
-
constructor(protected config: Config) {
|
|
12
|
+
export class Token extends EventEmitter {
|
|
13
|
+
constructor(protected config: Config) {
|
|
14
|
+
super();
|
|
15
|
+
}
|
|
13
16
|
|
|
14
17
|
public isAuthorized = async (
|
|
15
18
|
req: Request,
|
|
@@ -37,4 +40,17 @@ export class Token {
|
|
|
37
40
|
|
|
38
41
|
return (Array.isArray(token) ? token : [token]).includes(requestToken);
|
|
39
42
|
};
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Implement any browserless-core-specific shutdown logic here.
|
|
46
|
+
* Calls the empty-SDK stop method for downstream implementations.
|
|
47
|
+
*/
|
|
48
|
+
public shutdown = async () => {
|
|
49
|
+
await this.stop();
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Left blank for downstream SDK modules to optionally implement.
|
|
54
|
+
*/
|
|
55
|
+
public stop = () => {};
|
|
40
56
|
}
|
package/src/types.ts
CHANGED
|
@@ -478,19 +478,6 @@ export const debugScreenshotOpts: ScreenshotOptions = {
|
|
|
478
478
|
type: 'jpeg',
|
|
479
479
|
};
|
|
480
480
|
|
|
481
|
-
declare global {
|
|
482
|
-
interface Window {
|
|
483
|
-
browserless: BrowserlessEmbeddedAPI;
|
|
484
|
-
}
|
|
485
|
-
}
|
|
486
|
-
|
|
487
|
-
export interface BrowserlessEmbeddedAPI {
|
|
488
|
-
getRecording: () => Promise<string>;
|
|
489
|
-
liveUrl: () => string;
|
|
490
|
-
saveRecording: () => Promise<boolean>;
|
|
491
|
-
startRecording: () => void;
|
|
492
|
-
}
|
|
493
|
-
|
|
494
481
|
/**
|
|
495
482
|
* When bestAttempt is set to true, browserless attempt to proceed
|
|
496
483
|
* when "awaited" events fail or timeout. This includes things like
|
package/src/webhooks.ts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { Config, fetchTimeout, noop } from '@browserless.io/browserless';
|
|
2
|
+
import { EventEmitter } from 'events';
|
|
2
3
|
|
|
3
|
-
export class WebHooks {
|
|
4
|
-
constructor(protected config: Config) {
|
|
4
|
+
export class WebHooks extends EventEmitter {
|
|
5
|
+
constructor(protected config: Config) {
|
|
6
|
+
super();
|
|
7
|
+
}
|
|
5
8
|
|
|
6
9
|
protected callURL(url: string | null) {
|
|
7
10
|
if (url) {
|
|
@@ -47,4 +50,17 @@ export class WebHooks {
|
|
|
47
50
|
);
|
|
48
51
|
}
|
|
49
52
|
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Implement any browserless-core-specific shutdown logic here.
|
|
56
|
+
* Calls the empty-SDK stop method for downstream implementations.
|
|
57
|
+
*/
|
|
58
|
+
public shutdown = async () => {
|
|
59
|
+
await this.stop();
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Left blank for downstream SDK modules to optionally implement.
|
|
64
|
+
*/
|
|
65
|
+
public stop = () => {};
|
|
50
66
|
}
|