@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.
Files changed (208) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/README.md +2 -2
  3. package/bin/browserless.js +47 -18
  4. package/bin/scaffold/README.md +50 -0
  5. package/bin/scaffold/src/hello-world.http.ts +2 -1
  6. package/build/browserless.d.ts +3 -5
  7. package/build/browserless.js +17 -11
  8. package/build/browsers/chrome.cdp.js +1 -1
  9. package/build/browsers/chrome.playwright.js +1 -1
  10. package/build/browsers/index.d.ts +1 -0
  11. package/build/browsers/index.js +4 -1
  12. package/build/data/classes.json +1 -1
  13. package/build/data/selectors.json +1 -1
  14. package/build/exports.d.ts +24 -38
  15. package/build/exports.js +25 -44
  16. package/build/limiter.d.ts +2 -1
  17. package/build/limiter.js +6 -3
  18. package/build/routes/chrome/http/content.post.body.json +8 -8
  19. package/build/routes/chrome/http/content.post.d.ts +2 -1
  20. package/build/routes/chrome/http/content.post.js +3 -2
  21. package/build/routes/chrome/http/download.post.body.json +11 -489
  22. package/build/routes/chrome/http/download.post.d.ts +2 -1
  23. package/build/routes/chrome/http/download.post.js +3 -2
  24. package/build/routes/chrome/http/download.post.query.json +6 -69
  25. package/build/routes/chrome/http/download.post.response.json +0 -1
  26. package/build/routes/chrome/http/function.post.body.json +11 -489
  27. package/build/routes/chrome/http/function.post.d.ts +2 -1
  28. package/build/routes/chrome/http/function.post.js +3 -2
  29. package/build/routes/chrome/http/function.post.query.json +6 -69
  30. package/build/routes/chrome/http/function.post.response.json +0 -1
  31. package/build/routes/chrome/http/json-list.get.d.ts +5 -1
  32. package/build/routes/chrome/http/json-list.get.js +5 -1
  33. package/build/routes/chrome/http/json-list.get.response.json +49 -1
  34. package/build/routes/chrome/http/json-new.put.d.ts +5 -1
  35. package/build/routes/chrome/http/json-new.put.js +5 -1
  36. package/build/routes/chrome/http/json-new.put.response.json +41 -1
  37. package/build/routes/chrome/http/json-protocol.get.d.ts +5 -1
  38. package/build/routes/chrome/http/json-protocol.get.js +5 -1
  39. package/build/routes/chrome/http/json-protocol.get.response.json +3 -1
  40. package/build/routes/chrome/http/json-version.get.d.ts +5 -1
  41. package/build/routes/chrome/http/json-version.get.js +5 -1
  42. package/build/routes/chrome/http/json-version.get.response.json +41 -1
  43. package/build/routes/chrome/http/pdf.post.body.json +153 -9
  44. package/build/routes/chrome/http/pdf.post.d.ts +2 -1
  45. package/build/routes/chrome/http/pdf.post.js +3 -2
  46. package/build/routes/chrome/http/pdf.post.query.json +6 -69
  47. package/build/routes/chrome/http/performance.post.body.json +10 -494
  48. package/build/routes/chrome/http/performance.post.d.ts +2 -1
  49. package/build/routes/chrome/http/performance.post.js +3 -2
  50. package/build/routes/chrome/http/performance.post.query.json +6 -69
  51. package/build/routes/chrome/http/performance.post.response.json +3 -1
  52. package/build/routes/chrome/http/scrape.post.body.json +56 -9
  53. package/build/routes/chrome/http/scrape.post.d.ts +2 -1
  54. package/build/routes/chrome/http/scrape.post.js +3 -2
  55. package/build/routes/chrome/http/scrape.post.response.json +305 -1
  56. package/build/routes/chrome/http/screenshot.post.body.json +99 -9
  57. package/build/routes/chrome/http/screenshot.post.d.ts +2 -1
  58. package/build/routes/chrome/http/screenshot.post.js +3 -2
  59. package/build/routes/chrome/http/screenshot.post.query.json +6 -69
  60. package/build/routes/chrome/ws/browser.d.ts +2 -1
  61. package/build/routes/chrome/ws/browser.js +3 -2
  62. package/build/routes/chrome/ws/browser.query.json +6 -69
  63. package/build/routes/chrome/ws/cdp.d.ts +2 -1
  64. package/build/routes/chrome/ws/cdp.js +3 -2
  65. package/build/routes/chrome/ws/cdp.query.json +6 -69
  66. package/build/routes/chrome/ws/page.d.ts +3 -2
  67. package/build/routes/chrome/ws/page.js +3 -2
  68. package/build/routes/chrome/ws/page.query.json +6 -69
  69. package/build/routes/chrome/ws/playwright.d.ts +1 -0
  70. package/build/routes/chrome/ws/playwright.js +2 -1
  71. package/build/routes/chrome/ws/playwright.query.json +7 -90
  72. package/build/routes/chromium/http/content.post.body.json +8 -8
  73. package/build/routes/chromium/http/download.post.body.json +11 -489
  74. package/build/routes/chromium/http/download.post.query.json +6 -69
  75. package/build/routes/chromium/http/download.post.response.json +0 -1
  76. package/build/routes/chromium/http/function.post.body.json +11 -489
  77. package/build/routes/chromium/http/function.post.query.json +6 -69
  78. package/build/routes/chromium/http/function.post.response.json +0 -1
  79. package/build/routes/chromium/http/json-list.get.response.json +49 -1
  80. package/build/routes/chromium/http/json-new.put.response.json +41 -1
  81. package/build/routes/chromium/http/json-protocol.get.response.json +3 -1
  82. package/build/routes/chromium/http/json-version.get.response.json +41 -1
  83. package/build/routes/chromium/http/pdf.post.body.json +153 -9
  84. package/build/routes/chromium/http/pdf.post.query.json +6 -69
  85. package/build/routes/chromium/http/performance.post.body.json +10 -494
  86. package/build/routes/chromium/http/performance.post.query.json +6 -69
  87. package/build/routes/chromium/http/performance.post.response.json +3 -1
  88. package/build/routes/chromium/http/scrape.post.body.json +56 -9
  89. package/build/routes/chromium/http/scrape.post.response.json +305 -1
  90. package/build/routes/chromium/http/screenshot.post.body.json +99 -9
  91. package/build/routes/chromium/http/screenshot.post.query.json +6 -69
  92. package/build/routes/chromium/ws/browser.query.json +6 -69
  93. package/build/routes/chromium/ws/cdp.query.json +6 -69
  94. package/build/routes/chromium/ws/page.query.json +6 -69
  95. package/build/routes/chromium/ws/playwright.query.json +7 -90
  96. package/build/routes/firefox/ws/playwright.d.ts +2 -1
  97. package/build/routes/firefox/ws/playwright.js +3 -2
  98. package/build/routes/firefox/ws/playwright.query.json +30 -115
  99. package/build/routes/management/http/config.get.d.ts +1 -0
  100. package/build/routes/management/http/config.get.js +2 -1
  101. package/build/routes/management/http/config.get.response.json +104 -1
  102. package/build/routes/management/http/metrics-total.get.d.ts +1 -0
  103. package/build/routes/management/http/metrics-total.get.js +2 -1
  104. package/build/routes/management/http/metrics-total.get.response.json +69 -1
  105. package/build/routes/management/http/metrics.get.d.ts +1 -0
  106. package/build/routes/management/http/metrics.get.js +2 -1
  107. package/build/routes/management/http/metrics.get.response.json +91 -1
  108. package/build/routes/management/http/sessions.get.d.ts +1 -0
  109. package/build/routes/management/http/sessions.get.js +2 -1
  110. package/build/routes/management/http/sessions.get.response.json +232 -1
  111. package/build/routes/management/http/static.get.d.ts +1 -0
  112. package/build/routes/management/http/static.get.js +2 -1
  113. package/build/routes/webkit/ws/playwright.d.ts +2 -1
  114. package/build/routes/webkit/ws/playwright.js +3 -2
  115. package/build/routes/webkit/ws/playwright.query.json +7 -90
  116. package/build/shared/browser.ws.d.ts +2 -1
  117. package/build/shared/browser.ws.js +3 -2
  118. package/build/shared/chromium.playwright.ws.d.ts +2 -1
  119. package/build/shared/chromium.playwright.ws.js +3 -2
  120. package/build/shared/chromium.ws.d.ts +2 -1
  121. package/build/shared/chromium.ws.js +3 -2
  122. package/build/shared/content.http.d.ts +2 -1
  123. package/build/shared/content.http.js +3 -2
  124. package/build/shared/download.http.d.ts +2 -1
  125. package/build/shared/download.http.js +3 -2
  126. package/build/shared/function.http.d.ts +2 -1
  127. package/build/shared/function.http.js +3 -2
  128. package/build/shared/json-list.http.d.ts +2 -1
  129. package/build/shared/json-list.http.js +3 -2
  130. package/build/shared/json-new.http.d.ts +2 -1
  131. package/build/shared/json-new.http.js +3 -2
  132. package/build/shared/json-protocol.http.d.ts +2 -1
  133. package/build/shared/json-protocol.http.js +3 -2
  134. package/build/shared/json-version.http.d.ts +2 -1
  135. package/build/shared/json-version.http.js +3 -2
  136. package/build/shared/page.ws.d.ts +2 -1
  137. package/build/shared/page.ws.js +3 -2
  138. package/build/shared/pdf.http.d.ts +2 -1
  139. package/build/shared/pdf.http.js +3 -2
  140. package/build/shared/performance.http.d.ts +1 -0
  141. package/build/shared/performance.http.js +2 -1
  142. package/build/shared/scrape.http.d.ts +2 -1
  143. package/build/shared/scrape.http.js +3 -2
  144. package/build/shared/screenshot.http.d.ts +1 -0
  145. package/build/shared/screenshot.http.js +2 -1
  146. package/build/types.d.ts +91 -0
  147. package/build/types.js +54 -0
  148. package/build/utils.d.ts +1 -1
  149. package/build/utils.js +11 -6
  150. package/docker/chrome/Dockerfile +0 -2
  151. package/docker/chromium/Dockerfile +1 -4
  152. package/docker/firefox/Dockerfile +1 -4
  153. package/docker/multi/Dockerfile +2 -6
  154. package/docker/webkit/Dockerfile +1 -4
  155. package/package.json +11 -10
  156. package/scripts/build-open-api.js +150 -141
  157. package/scripts/build-schemas.js +3 -2
  158. package/src/browserless.ts +43 -30
  159. package/src/browsers/chrome.cdp.ts +1 -1
  160. package/src/browsers/chrome.playwright.ts +1 -1
  161. package/src/browsers/index.ts +5 -1
  162. package/src/exports.ts +25 -49
  163. package/src/limiter.ts +7 -3
  164. package/src/routes/chrome/http/content.post.ts +7 -2
  165. package/src/routes/chrome/http/download.post.ts +7 -2
  166. package/src/routes/chrome/http/function.post.ts +7 -2
  167. package/src/routes/chrome/http/json-list.get.ts +7 -1
  168. package/src/routes/chrome/http/json-new.put.ts +7 -1
  169. package/src/routes/chrome/http/json-protocol.get.ts +7 -1
  170. package/src/routes/chrome/http/json-version.get.ts +7 -1
  171. package/src/routes/chrome/http/pdf.post.ts +7 -2
  172. package/src/routes/chrome/http/performance.post.ts +7 -2
  173. package/src/routes/chrome/http/scrape.post.ts +7 -2
  174. package/src/routes/chrome/http/screenshot.post.ts +7 -2
  175. package/src/routes/chrome/ws/browser.ts +3 -2
  176. package/src/routes/chrome/ws/cdp.ts +7 -2
  177. package/src/routes/chrome/ws/page.ts +3 -2
  178. package/src/routes/chrome/ws/playwright.ts +6 -1
  179. package/src/routes/firefox/ws/playwright.ts +3 -1
  180. package/src/routes/management/http/config.get.ts +2 -0
  181. package/src/routes/management/http/metrics-total.get.ts +2 -0
  182. package/src/routes/management/http/metrics.get.ts +2 -0
  183. package/src/routes/management/http/sessions.get.ts +2 -0
  184. package/src/routes/management/http/static.get.ts +2 -0
  185. package/src/routes/webkit/ws/playwright.ts +3 -1
  186. package/src/shared/browser.ws.ts +3 -1
  187. package/src/shared/chromium.playwright.ws.ts +3 -1
  188. package/src/shared/chromium.ws.ts +3 -1
  189. package/src/shared/content.http.ts +3 -1
  190. package/src/shared/download.http.ts +3 -1
  191. package/src/shared/function.http.ts +3 -1
  192. package/src/shared/json-list.http.ts +3 -1
  193. package/src/shared/json-new.http.ts +3 -1
  194. package/src/shared/json-protocol.http.ts +3 -1
  195. package/src/shared/json-version.http.ts +3 -1
  196. package/src/shared/page.ws.ts +3 -1
  197. package/src/shared/pdf.http.ts +3 -1
  198. package/src/shared/performance.http.ts +2 -0
  199. package/src/shared/scrape.http.ts +3 -1
  200. package/src/shared/screenshot.http.ts +2 -0
  201. package/src/types.ts +66 -0
  202. package/src/utils.ts +13 -7
  203. package/static/docs/swagger.json +2511 -1520
  204. package/static/docs/swagger.min.json +6697 -0
  205. package/static/function/client.js +323 -323
  206. package/build/exports.core.d.ts +0 -24
  207. package/build/exports.core.js +0 -26
  208. 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
- afterRequest({
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
- afterRequest({
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
- afterRequest({
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 { ChromeCDP, HTTPRoutes } from '@browserless.io/browserless';
7
+ import {
8
+ BrowserlessRoutes,
9
+ ChromeCDP,
10
+ HTTPRoutes,
11
+ } from '@browserless.io/browserless';
8
12
 
9
- export default class ChromeContentRoute extends Content {
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 { ChromeCDP, HTTPRoutes } from '@browserless.io/browserless';
7
+ import {
8
+ BrowserlessRoutes,
9
+ ChromeCDP,
10
+ HTTPRoutes,
11
+ } from '@browserless.io/browserless';
8
12
 
9
- export default class ChromeDownloadRoute extends Download {
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 { ChromeCDP, HTTPRoutes } from '@browserless.io/browserless';
7
+ import {
8
+ BrowserlessRoutes,
9
+ ChromeCDP,
10
+ HTTPRoutes,
11
+ } from '@browserless.io/browserless';
8
12
 
9
- export default class ChromeFunctionRoute extends Function {
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
- export { default, ResponseSchema } from '../../../shared/json-list.http.js';
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
- export { default, ResponseSchema } from '../../../shared/json-new.http.js';
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
- export { default, ResponseSchema } from '../../../shared/json-protocol.http.js';
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
- export { default, ResponseSchema } from '../../../shared/json-version.http.js';
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 { ChromeCDP, HTTPRoutes } from '@browserless.io/browserless';
7
+ import {
8
+ BrowserlessRoutes,
9
+ ChromeCDP,
10
+ HTTPRoutes,
11
+ } from '@browserless.io/browserless';
8
12
 
9
- export default class ChromePDF extends PDF {
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 { ChromeCDP, HTTPRoutes } from '@browserless.io/browserless';
7
+ import {
8
+ BrowserlessRoutes,
9
+ ChromeCDP,
10
+ HTTPRoutes,
11
+ } from '@browserless.io/browserless';
8
12
 
9
- export default class ChromePerformance extends Performance {
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 { ChromeCDP, HTTPRoutes } from '@browserless.io/browserless';
7
+ import {
8
+ BrowserlessRoutes,
9
+ ChromeCDP,
10
+ HTTPRoutes,
11
+ } from '@browserless.io/browserless';
8
12
 
9
- export default class ChromeScrape extends Scrape {
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 { ChromeCDP, HTTPRoutes } from '@browserless.io/browserless';
7
+ import {
8
+ BrowserlessRoutes,
9
+ ChromeCDP,
10
+ HTTPRoutes,
11
+ } from '@browserless.io/browserless';
8
12
 
9
- export default class ChromeScreenshot extends Screenshot {
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 ChromeBrowser extends Browser {
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 { ChromeCDP, WebsocketRoutes } from '@browserless.io/browserless';
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 Chrome extends ChromiumWebSocketRoute {
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 ChromePage extends Page {
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 { ChromePlaywright, WebsocketRoutes } from '@browserless.io/browserless';
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 FirefoxPlayWrightRoute extends BrowserWebsocketRoute {
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 WebkitPlaywrightRoute extends BrowserWebsocketRoute {
18
+ export default class WebKitPlaywrightWebSocketRoute extends BrowserWebsocketRoute {
19
+ name = BrowserlessRoutes.WebKitPlaywrightWebSocketRoute;
18
20
  auth = true;
19
21
  browser = WebkitPlaywright;
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,
@@ -14,7 +15,8 @@ export interface QuerySchema extends SystemQueryParameters {
14
15
  launch?: CDPLaunchOptions | string;
15
16
  }
16
17
 
17
- export default class CDPExistingBrowser extends BrowserWebsocketRoute {
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 PlaywrightChromiumRoute extends BrowserWebsocketRoute {
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 ChromiumCDPRoute extends BrowserWebsocketRoute {
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 ContentPostRoute extends BrowserHTTPRoute {
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 DownloadPost extends BrowserHTTPRoute {
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 FunctionPost extends BrowserHTTPRoute {
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 GetJSONList extends HTTPRoute {
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 GetJSONList extends HTTPRoute {
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 GetJSONVersion extends HTTPRoute {
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 GetJSONVersion extends HTTPRoute {
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;
@@ -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 PageWebSocketRoute extends BrowserWebsocketRoute {
18
+ export default class ChromiumPageWebSocketRoute extends BrowserWebsocketRoute {
19
+ name = BrowserlessRoutes.ChromiumPageWebSocketRoute;
18
20
  auth = true;
19
21
  browser = ChromiumCDP;
20
22
  concurrency = false;
@@ -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 PDFPost extends BrowserHTTPRoute {
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 ScrapePost extends BrowserHTTPRoute {
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;