@crawlee/core 4.0.0-beta.2 → 4.0.0-beta.200

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 (259) hide show
  1. package/README.md +17 -13
  2. package/byte_utils.d.ts +17 -0
  3. package/byte_utils.js +42 -0
  4. package/configuration.d.ts +88 -234
  5. package/configuration.js +162 -230
  6. package/debug.d.ts +36 -0
  7. package/debug.js +70 -0
  8. package/errors.d.ts +43 -10
  9. package/errors.js +57 -12
  10. package/events/event_manager.d.ts +35 -9
  11. package/events/event_manager.js +12 -13
  12. package/events/index.d.ts +1 -1
  13. package/events/index.js +0 -1
  14. package/events/local_event_manager.d.ts +15 -5
  15. package/events/local_event_manager.js +39 -42
  16. package/events/system_info.d.ts +38 -0
  17. package/events/system_info.js +1 -0
  18. package/index.d.ts +8 -11
  19. package/index.js +9 -10
  20. package/internal.d.ts +8 -0
  21. package/internal.js +9 -0
  22. package/iterables.d.ts +79 -0
  23. package/iterables.js +134 -0
  24. package/log.d.ts +81 -3
  25. package/log.js +134 -1
  26. package/memory-storage/consts.d.ts +4 -0
  27. package/memory-storage/consts.js +4 -0
  28. package/memory-storage/index.d.ts +1 -0
  29. package/memory-storage/index.js +1 -0
  30. package/memory-storage/memory-storage.d.ts +43 -0
  31. package/memory-storage/memory-storage.js +158 -0
  32. package/memory-storage/resource-clients/common/base-client.d.ts +4 -0
  33. package/memory-storage/resource-clients/common/base-client.js +6 -0
  34. package/memory-storage/resource-clients/dataset.d.ts +40 -0
  35. package/memory-storage/resource-clients/dataset.js +106 -0
  36. package/memory-storage/resource-clients/key-value-store.d.ts +56 -0
  37. package/memory-storage/resource-clients/key-value-store.js +180 -0
  38. package/memory-storage/resource-clients/request-queue.d.ts +77 -0
  39. package/memory-storage/resource-clients/request-queue.js +414 -0
  40. package/memory-storage/utils.d.ts +16 -0
  41. package/memory-storage/utils.js +41 -0
  42. package/owned_or_injected.d.ts +58 -0
  43. package/owned_or_injected.js +98 -0
  44. package/package.json +19 -20
  45. package/proxy_configuration.d.ts +29 -155
  46. package/proxy_configuration.js +38 -183
  47. package/recoverable_state.d.ts +177 -0
  48. package/recoverable_state.js +268 -0
  49. package/request.d.ts +62 -81
  50. package/request.js +125 -220
  51. package/serialization.d.ts +0 -1
  52. package/serialization.js +18 -18
  53. package/service_locator.d.ts +168 -0
  54. package/service_locator.js +255 -0
  55. package/storages/batched_adds.d.ts +37 -0
  56. package/storages/batched_adds.js +73 -0
  57. package/storages/dataset.d.ts +120 -56
  58. package/storages/dataset.js +299 -148
  59. package/storages/index.d.ts +9 -8
  60. package/storages/index.js +5 -8
  61. package/storages/key_value_store.d.ts +192 -65
  62. package/storages/key_value_store.js +453 -193
  63. package/storages/key_value_store_codec.d.ts +32 -0
  64. package/storages/key_value_store_codec.js +113 -0
  65. package/storages/request_dedup_cache.d.ts +22 -0
  66. package/storages/request_dedup_cache.js +48 -0
  67. package/storages/request_list.d.ts +55 -137
  68. package/storages/request_list.js +272 -245
  69. package/storages/request_loader.d.ts +127 -0
  70. package/storages/request_loader.js +36 -0
  71. package/storages/request_manager.d.ts +119 -0
  72. package/storages/request_manager.js +1 -0
  73. package/storages/request_manager_tandem.d.ts +94 -0
  74. package/storages/request_manager_tandem.js +200 -0
  75. package/storages/request_queue.d.ts +293 -48
  76. package/storages/request_queue.js +766 -216
  77. package/storages/storage_instance_manager.d.ts +86 -0
  78. package/storages/storage_instance_manager.js +256 -0
  79. package/storages/storage_stats.d.ts +48 -0
  80. package/storages/storage_stats.js +29 -0
  81. package/storages/transaction.d.ts +271 -0
  82. package/storages/transaction.js +296 -0
  83. package/storages/utils.d.ts +59 -11
  84. package/storages/utils.js +75 -15
  85. package/system-info/cpu-info.d.ts +67 -0
  86. package/system-info/cpu-info.js +216 -0
  87. package/system-info/memory-info.d.ts +31 -0
  88. package/system-info/memory-info.js +115 -0
  89. package/system-info/ps-tree.d.ts +17 -0
  90. package/system-info/ps-tree.js +144 -0
  91. package/system-info/runtime.d.ts +14 -0
  92. package/system-info/runtime.js +80 -0
  93. package/typedefs.d.ts +0 -6
  94. package/typedefs.js +0 -1
  95. package/url.d.ts +9 -0
  96. package/url.js +11 -0
  97. package/validators.d.ts +23 -18
  98. package/validators.js +14 -18
  99. package/autoscaling/autoscaled_pool.d.ts +0 -300
  100. package/autoscaling/autoscaled_pool.d.ts.map +0 -1
  101. package/autoscaling/autoscaled_pool.js +0 -533
  102. package/autoscaling/autoscaled_pool.js.map +0 -1
  103. package/autoscaling/index.d.ts +0 -4
  104. package/autoscaling/index.d.ts.map +0 -1
  105. package/autoscaling/index.js +0 -4
  106. package/autoscaling/index.js.map +0 -1
  107. package/autoscaling/snapshotter.d.ts +0 -189
  108. package/autoscaling/snapshotter.d.ts.map +0 -1
  109. package/autoscaling/snapshotter.js +0 -292
  110. package/autoscaling/snapshotter.js.map +0 -1
  111. package/autoscaling/system_status.d.ts +0 -181
  112. package/autoscaling/system_status.d.ts.map +0 -1
  113. package/autoscaling/system_status.js +0 -169
  114. package/autoscaling/system_status.js.map +0 -1
  115. package/configuration.d.ts.map +0 -1
  116. package/configuration.js.map +0 -1
  117. package/cookie_utils.d.ts +0 -43
  118. package/cookie_utils.d.ts.map +0 -1
  119. package/cookie_utils.js +0 -113
  120. package/cookie_utils.js.map +0 -1
  121. package/crawlers/crawler_commons.d.ts +0 -199
  122. package/crawlers/crawler_commons.d.ts.map +0 -1
  123. package/crawlers/crawler_commons.js +0 -116
  124. package/crawlers/crawler_commons.js.map +0 -1
  125. package/crawlers/crawler_extension.d.ts +0 -12
  126. package/crawlers/crawler_extension.d.ts.map +0 -1
  127. package/crawlers/crawler_extension.js +0 -14
  128. package/crawlers/crawler_extension.js.map +0 -1
  129. package/crawlers/crawler_utils.d.ts +0 -10
  130. package/crawlers/crawler_utils.d.ts.map +0 -1
  131. package/crawlers/crawler_utils.js +0 -12
  132. package/crawlers/crawler_utils.js.map +0 -1
  133. package/crawlers/error_snapshotter.d.ts +0 -59
  134. package/crawlers/error_snapshotter.d.ts.map +0 -1
  135. package/crawlers/error_snapshotter.js +0 -118
  136. package/crawlers/error_snapshotter.js.map +0 -1
  137. package/crawlers/error_tracker.d.ts +0 -54
  138. package/crawlers/error_tracker.d.ts.map +0 -1
  139. package/crawlers/error_tracker.js +0 -309
  140. package/crawlers/error_tracker.js.map +0 -1
  141. package/crawlers/index.d.ts +0 -7
  142. package/crawlers/index.d.ts.map +0 -1
  143. package/crawlers/index.js +0 -7
  144. package/crawlers/index.js.map +0 -1
  145. package/crawlers/statistics.d.ts +0 -204
  146. package/crawlers/statistics.d.ts.map +0 -1
  147. package/crawlers/statistics.js +0 -346
  148. package/crawlers/statistics.js.map +0 -1
  149. package/enqueue_links/enqueue_links.d.ts +0 -242
  150. package/enqueue_links/enqueue_links.d.ts.map +0 -1
  151. package/enqueue_links/enqueue_links.js +0 -250
  152. package/enqueue_links/enqueue_links.js.map +0 -1
  153. package/enqueue_links/index.d.ts +0 -3
  154. package/enqueue_links/index.d.ts.map +0 -1
  155. package/enqueue_links/index.js +0 -3
  156. package/enqueue_links/index.js.map +0 -1
  157. package/enqueue_links/shared.d.ts +0 -67
  158. package/enqueue_links/shared.d.ts.map +0 -1
  159. package/enqueue_links/shared.js +0 -190
  160. package/enqueue_links/shared.js.map +0 -1
  161. package/errors.d.ts.map +0 -1
  162. package/errors.js.map +0 -1
  163. package/events/event_manager.d.ts.map +0 -1
  164. package/events/event_manager.js.map +0 -1
  165. package/events/index.d.ts.map +0 -1
  166. package/events/index.js.map +0 -1
  167. package/events/local_event_manager.d.ts.map +0 -1
  168. package/events/local_event_manager.js.map +0 -1
  169. package/http_clients/base-http-client.d.ts +0 -134
  170. package/http_clients/base-http-client.d.ts.map +0 -1
  171. package/http_clients/base-http-client.js +0 -33
  172. package/http_clients/base-http-client.js.map +0 -1
  173. package/http_clients/form-data-like.d.ts +0 -67
  174. package/http_clients/form-data-like.d.ts.map +0 -1
  175. package/http_clients/form-data-like.js +0 -5
  176. package/http_clients/form-data-like.js.map +0 -1
  177. package/http_clients/got-scraping-http-client.d.ts +0 -15
  178. package/http_clients/got-scraping-http-client.d.ts.map +0 -1
  179. package/http_clients/got-scraping-http-client.js +0 -69
  180. package/http_clients/got-scraping-http-client.js.map +0 -1
  181. package/http_clients/index.d.ts +0 -3
  182. package/http_clients/index.d.ts.map +0 -1
  183. package/http_clients/index.js +0 -3
  184. package/http_clients/index.js.map +0 -1
  185. package/index.d.ts.map +0 -1
  186. package/index.js.map +0 -1
  187. package/log.d.ts.map +0 -1
  188. package/log.js.map +0 -1
  189. package/proxy_configuration.d.ts.map +0 -1
  190. package/proxy_configuration.js.map +0 -1
  191. package/request.d.ts.map +0 -1
  192. package/request.js.map +0 -1
  193. package/router.d.ts +0 -134
  194. package/router.d.ts.map +0 -1
  195. package/router.js +0 -164
  196. package/router.js.map +0 -1
  197. package/serialization.d.ts.map +0 -1
  198. package/serialization.js.map +0 -1
  199. package/session_pool/consts.d.ts +0 -4
  200. package/session_pool/consts.d.ts.map +0 -1
  201. package/session_pool/consts.js +0 -4
  202. package/session_pool/consts.js.map +0 -1
  203. package/session_pool/errors.d.ts +0 -8
  204. package/session_pool/errors.d.ts.map +0 -1
  205. package/session_pool/errors.js +0 -12
  206. package/session_pool/errors.js.map +0 -1
  207. package/session_pool/events.d.ts +0 -3
  208. package/session_pool/events.d.ts.map +0 -1
  209. package/session_pool/events.js +0 -3
  210. package/session_pool/events.js.map +0 -1
  211. package/session_pool/index.d.ts +0 -6
  212. package/session_pool/index.d.ts.map +0 -1
  213. package/session_pool/index.js +0 -6
  214. package/session_pool/index.js.map +0 -1
  215. package/session_pool/session.d.ts +0 -199
  216. package/session_pool/session.d.ts.map +0 -1
  217. package/session_pool/session.js +0 -271
  218. package/session_pool/session.js.map +0 -1
  219. package/session_pool/session_pool.d.ts +0 -251
  220. package/session_pool/session_pool.d.ts.map +0 -1
  221. package/session_pool/session_pool.js +0 -375
  222. package/session_pool/session_pool.js.map +0 -1
  223. package/storages/access_checking.d.ts +0 -13
  224. package/storages/access_checking.d.ts.map +0 -1
  225. package/storages/access_checking.js +0 -14
  226. package/storages/access_checking.js.map +0 -1
  227. package/storages/dataset.d.ts.map +0 -1
  228. package/storages/dataset.js.map +0 -1
  229. package/storages/index.d.ts.map +0 -1
  230. package/storages/index.js.map +0 -1
  231. package/storages/key_value_store.d.ts.map +0 -1
  232. package/storages/key_value_store.js.map +0 -1
  233. package/storages/request_list.d.ts.map +0 -1
  234. package/storages/request_list.js.map +0 -1
  235. package/storages/request_provider.d.ts +0 -307
  236. package/storages/request_provider.d.ts.map +0 -1
  237. package/storages/request_provider.js +0 -555
  238. package/storages/request_provider.js.map +0 -1
  239. package/storages/request_queue.d.ts.map +0 -1
  240. package/storages/request_queue.js.map +0 -1
  241. package/storages/request_queue_v2.d.ts +0 -87
  242. package/storages/request_queue_v2.d.ts.map +0 -1
  243. package/storages/request_queue_v2.js +0 -438
  244. package/storages/request_queue_v2.js.map +0 -1
  245. package/storages/sitemap_request_list.d.ts +0 -245
  246. package/storages/sitemap_request_list.d.ts.map +0 -1
  247. package/storages/sitemap_request_list.js +0 -430
  248. package/storages/sitemap_request_list.js.map +0 -1
  249. package/storages/storage_manager.d.ts +0 -58
  250. package/storages/storage_manager.d.ts.map +0 -1
  251. package/storages/storage_manager.js +0 -105
  252. package/storages/storage_manager.js.map +0 -1
  253. package/storages/utils.d.ts.map +0 -1
  254. package/storages/utils.js.map +0 -1
  255. package/tsconfig.build.tsbuildinfo +0 -1
  256. package/typedefs.d.ts.map +0 -1
  257. package/typedefs.js.map +0 -1
  258. package/validators.d.ts.map +0 -1
  259. package/validators.js.map +0 -1
package/router.js DELETED
@@ -1,164 +0,0 @@
1
- import { MissingRouteError } from './errors.js';
2
- const defaultRoute = Symbol('default-route');
3
- /**
4
- * Simple router that works based on request labels. This instance can then serve as a `requestHandler` of your crawler.
5
- *
6
- * ```ts
7
- * import { Router, CheerioCrawler, CheerioCrawlingContext } from 'crawlee';
8
- *
9
- * const router = Router.create<CheerioCrawlingContext>();
10
- *
11
- * // we can also use factory methods for specific crawling contexts, the above equals to:
12
- * // import { createCheerioRouter } from 'crawlee';
13
- * // const router = createCheerioRouter();
14
- *
15
- * router.addHandler('label-a', async (ctx) => {
16
- * ctx.log.info('...');
17
- * });
18
- * router.addDefaultHandler(async (ctx) => {
19
- * ctx.log.info('...');
20
- * });
21
- *
22
- * const crawler = new CheerioCrawler({
23
- * requestHandler: router,
24
- * });
25
- * await crawler.run();
26
- * ```
27
- *
28
- * Alternatively we can use the default router instance from crawler object:
29
- *
30
- * ```ts
31
- * import { CheerioCrawler } from 'crawlee';
32
- *
33
- * const crawler = new CheerioCrawler();
34
- *
35
- * crawler.router.addHandler('label-a', async (ctx) => {
36
- * ctx.log.info('...');
37
- * });
38
- * crawler.router.addDefaultHandler(async (ctx) => {
39
- * ctx.log.info('...');
40
- * });
41
- *
42
- * await crawler.run();
43
- * ```
44
- *
45
- * For convenience, we can also define the routes right when creating the router:
46
- *
47
- * ```ts
48
- * import { CheerioCrawler, createCheerioRouter } from 'crawlee';
49
- * const crawler = new CheerioCrawler({
50
- * requestHandler: createCheerioRouter({
51
- * 'label-a': async (ctx) => { ... },
52
- * 'label-b': async (ctx) => { ... },
53
- * })},
54
- * });
55
- * await crawler.run();
56
- * ```
57
- *
58
- * Middlewares are also supported via the `router.use` method. There can be multiple
59
- * middlewares for a single router, they will be executed sequentially in the same
60
- * order as they were registered.
61
- *
62
- * ```ts
63
- * crawler.router.use(async (ctx) => {
64
- * ctx.log.info('...');
65
- * });
66
- * ```
67
- */
68
- export class Router {
69
- routes = new Map();
70
- middlewares = [];
71
- /**
72
- * use Router.create() instead!
73
- * @ignore
74
- */
75
- constructor() { }
76
- /**
77
- * Registers new route handler for given label.
78
- */
79
- addHandler(label, handler) {
80
- this.validate(label);
81
- this.routes.set(label, handler);
82
- }
83
- /**
84
- * Registers default route handler.
85
- */
86
- addDefaultHandler(handler) {
87
- this.validate(defaultRoute);
88
- this.routes.set(defaultRoute, handler);
89
- }
90
- /**
91
- * Registers a middleware that will be fired before the matching route handler.
92
- * Multiple middlewares can be registered, they will be fired in the same order.
93
- */
94
- use(middleware) {
95
- this.middlewares.push(middleware);
96
- }
97
- /**
98
- * Returns route handler for given label. If no label is provided, the default request handler will be returned.
99
- */
100
- getHandler(label) {
101
- if (label && this.routes.has(label)) {
102
- return this.routes.get(label);
103
- }
104
- if (this.routes.has(defaultRoute)) {
105
- return this.routes.get(defaultRoute);
106
- }
107
- throw new MissingRouteError(`Route not found for label '${String(label)}'.` +
108
- ' You must set up a route for this label or a default route.' +
109
- ' Use `requestHandler`, `router.addHandler` or `router.addDefaultHandler`.');
110
- }
111
- /**
112
- * Throws when the label already exists in our registry.
113
- */
114
- validate(label) {
115
- if (this.routes.has(label)) {
116
- const message = label === defaultRoute
117
- ? `Default route is already defined!`
118
- : `Route for label '${String(label)}' is already defined!`;
119
- throw new Error(message);
120
- }
121
- }
122
- /**
123
- * Creates new router instance. This instance can then serve as a `requestHandler` of your crawler.
124
- *
125
- * ```ts
126
- * import { Router, CheerioCrawler, CheerioCrawlingContext } from 'crawlee';
127
- *
128
- * const router = Router.create<CheerioCrawlingContext>();
129
- * router.addHandler('label-a', async (ctx) => {
130
- * ctx.log.info('...');
131
- * });
132
- * router.addDefaultHandler(async (ctx) => {
133
- * ctx.log.info('...');
134
- * });
135
- *
136
- * const crawler = new CheerioCrawler({
137
- * requestHandler: router,
138
- * });
139
- * await crawler.run();
140
- * ```
141
- */
142
- static create(routes) {
143
- const router = new Router();
144
- const obj = Object.create(Function.prototype);
145
- obj.addHandler = router.addHandler.bind(router);
146
- obj.addDefaultHandler = router.addDefaultHandler.bind(router);
147
- obj.getHandler = router.getHandler.bind(router);
148
- obj.use = router.use.bind(router);
149
- for (const [label, handler] of Object.entries(routes ?? {})) {
150
- router.addHandler(label, handler);
151
- }
152
- const func = async function (context) {
153
- const { url, loadedUrl, label } = context.request;
154
- context.log.debug('Page opened.', { label, url: loadedUrl ?? url });
155
- for (const middleware of router.middlewares) {
156
- await middleware(context);
157
- }
158
- return router.getHandler(label)(context);
159
- };
160
- Object.setPrototypeOf(func, obj);
161
- return func;
162
- }
163
- }
164
- //# sourceMappingURL=router.js.map
package/router.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"serialization.d.ts","sourceRoot":"","sources":["../src/serialization.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,QAAQ,EAAY,MAAM,aAAa,CAAC;AAwD7E;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAMlE;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAMnH;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ,CAU/E"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"serialization.js","sourceRoot":"","sources":["../src/serialization.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- export declare const BLOCKED_STATUS_CODES: number[];
2
- export declare const PERSIST_STATE_KEY = "SDK_SESSION_POOL_STATE";
3
- export declare const MAX_POOL_SIZE = 1000;
4
- //# sourceMappingURL=consts.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../src/session_pool/consts.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,UAAkB,CAAC;AACpD,eAAO,MAAM,iBAAiB,2BAA2B,CAAC;AAC1D,eAAO,MAAM,aAAa,OAAO,CAAC"}
@@ -1,4 +0,0 @@
1
- export const BLOCKED_STATUS_CODES = [401, 403, 429];
2
- export const PERSIST_STATE_KEY = 'SDK_SESSION_POOL_STATE';
3
- export const MAX_POOL_SIZE = 1000;
4
- //# sourceMappingURL=consts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../src/session_pool/consts.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACpD,MAAM,CAAC,MAAM,iBAAiB,GAAG,wBAAwB,CAAC;AAC1D,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC"}
@@ -1,8 +0,0 @@
1
- /**
2
- * @ignore
3
- */
4
- export declare class CookieParseError extends Error {
5
- readonly cookieHeaderString: unknown;
6
- constructor(cookieHeaderString: unknown);
7
- }
8
- //# sourceMappingURL=errors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/session_pool/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IAC3B,QAAQ,CAAC,kBAAkB,EAAE,OAAO;gBAA3B,kBAAkB,EAAE,OAAO;CAInD"}
@@ -1,12 +0,0 @@
1
- /**
2
- * @ignore
3
- */
4
- export class CookieParseError extends Error {
5
- cookieHeaderString;
6
- constructor(cookieHeaderString) {
7
- super(`Could not parse cookie header string: ${cookieHeaderString}`);
8
- this.cookieHeaderString = cookieHeaderString;
9
- Error.captureStackTrace(this, CookieParseError);
10
- }
11
- }
12
- //# sourceMappingURL=errors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/session_pool/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAClB;IAArB,YAAqB,kBAA2B;QAC5C,KAAK,CAAC,yCAAyC,kBAAkB,EAAE,CAAC,CAAC;QADpD,uBAAkB,GAAlB,kBAAkB,CAAS;QAE5C,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACpD,CAAC;CACJ"}
@@ -1,3 +0,0 @@
1
- /** @internal */
2
- export declare const EVENT_SESSION_RETIRED = "sessionRetired";
3
- //# sourceMappingURL=events.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/session_pool/events.ts"],"names":[],"mappings":"AAAA,gBAAgB;AAChB,eAAO,MAAM,qBAAqB,mBAAmB,CAAC"}
@@ -1,3 +0,0 @@
1
- /** @internal */
2
- export const EVENT_SESSION_RETIRED = 'sessionRetired';
3
- //# sourceMappingURL=events.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/session_pool/events.ts"],"names":[],"mappings":"AAAA,gBAAgB;AAChB,MAAM,CAAC,MAAM,qBAAqB,GAAG,gBAAgB,CAAC"}
@@ -1,6 +0,0 @@
1
- export * from './errors.js';
2
- export * from './events.js';
3
- export * from './session.js';
4
- export * from './session_pool.js';
5
- export * from './consts.js';
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/session_pool/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC"}
@@ -1,6 +0,0 @@
1
- export * from './errors.js';
2
- export * from './events.js';
3
- export * from './session.js';
4
- export * from './session_pool.js';
5
- export * from './consts.js';
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/session_pool/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC"}
@@ -1,199 +0,0 @@
1
- import type { Cookie as CookieObject, Dictionary } from '@crawlee/types';
2
- import type { Cookie, SerializedCookieJar } from 'tough-cookie';
3
- import { CookieJar } from 'tough-cookie';
4
- import type { Log } from '@apify/log';
5
- import type { ResponseLike } from '../cookie_utils.js';
6
- /**
7
- * Persistable {@link Session} state.
8
- */
9
- export interface SessionState {
10
- id: string;
11
- cookieJar: SerializedCookieJar;
12
- userData: object;
13
- errorScore: number;
14
- maxErrorScore: number;
15
- errorScoreDecrement: number;
16
- usageCount: number;
17
- maxUsageCount: number;
18
- expiresAt: string;
19
- createdAt: string;
20
- }
21
- export interface SessionOptions {
22
- /** Id of session used for generating fingerprints. It is used as proxy session name. */
23
- id?: string;
24
- /**
25
- * Number of seconds after which the session is considered as expired.
26
- * @default 3000
27
- */
28
- maxAgeSecs?: number;
29
- /** Object where custom user data can be stored. For example custom headers. */
30
- userData?: Dictionary;
31
- /**
32
- * Maximum number of marking session as blocked usage.
33
- * If the `errorScore` reaches the `maxErrorScore` session is marked as block and it is thrown away.
34
- * It starts at 0. Calling the `markBad` function increases the `errorScore` by 1.
35
- * Calling the `markGood` will decrease the `errorScore` by `errorScoreDecrement`
36
- * @default 3
37
- */
38
- maxErrorScore?: number;
39
- /**
40
- * It is used for healing the session.
41
- * For example: if your session is marked bad two times, but it is successful on the third attempt it's errorScore
42
- * is decremented by this number.
43
- * @default 0.5
44
- */
45
- errorScoreDecrement?: number;
46
- /** Date of creation. */
47
- createdAt?: Date;
48
- /** Date of expiration. */
49
- expiresAt?: Date;
50
- /**
51
- * Indicates how many times the session has been used.
52
- * @default 0
53
- */
54
- usageCount?: number;
55
- /**
56
- * Session should be used only a limited amount of times.
57
- * This number indicates how many times the session is going to be used, before it is thrown away.
58
- * @default 50
59
- */
60
- maxUsageCount?: number;
61
- /** SessionPool instance. Session will emit the `sessionRetired` event on this instance. */
62
- sessionPool?: import('./session_pool.js').SessionPool;
63
- log?: Log;
64
- errorScore?: number;
65
- cookieJar?: CookieJar;
66
- }
67
- /**
68
- * Sessions are used to store information such as cookies and can be used for generating fingerprints and proxy sessions.
69
- * You can imagine each session as a specific user, with its own cookies, IP (via proxy) and potentially a unique browser fingerprint.
70
- * Session internal state can be enriched with custom user data for example some authorization tokens and specific headers in general.
71
- * @category Scaling
72
- */
73
- export declare class Session {
74
- readonly id: string;
75
- private maxAgeSecs;
76
- userData: Dictionary;
77
- private _maxErrorScore;
78
- private _errorScoreDecrement;
79
- private _createdAt;
80
- private _expiresAt;
81
- private _usageCount;
82
- private _maxUsageCount;
83
- private sessionPool;
84
- private _errorScore;
85
- private _cookieJar;
86
- private log;
87
- get errorScore(): number;
88
- get usageCount(): number;
89
- get maxErrorScore(): number;
90
- get errorScoreDecrement(): number;
91
- get expiresAt(): Date;
92
- get createdAt(): Date;
93
- get maxUsageCount(): number;
94
- get cookieJar(): CookieJar;
95
- /**
96
- * Session configuration.
97
- */
98
- constructor(options: SessionOptions);
99
- /**
100
- * Indicates whether the session is blocked.
101
- * Session is blocked once it reaches the `maxErrorScore`.
102
- */
103
- isBlocked(): boolean;
104
- /**
105
- * Indicates whether the session is expired.
106
- * Session expiration is determined by the `maxAgeSecs`.
107
- * Once the session is older than `createdAt + maxAgeSecs` the session is considered expired.
108
- */
109
- isExpired(): boolean;
110
- /**
111
- * Indicates whether the session is used maximum number of times.
112
- * Session maximum usage count can be changed by `maxUsageCount` parameter.
113
- */
114
- isMaxUsageCountReached(): boolean;
115
- /**
116
- * Indicates whether the session can be used for next requests.
117
- * Session is usable when it is not expired, not blocked and the maximum usage count has not be reached.
118
- */
119
- isUsable(): boolean;
120
- /**
121
- * This method should be called after a successful session usage.
122
- * It increases `usageCount` and potentially lowers the `errorScore` by the `errorScoreDecrement`.
123
- */
124
- markGood(): void;
125
- /**
126
- * Gets session state for persistence in KeyValueStore.
127
- * @returns Represents session internal state.
128
- */
129
- getState(): SessionState;
130
- /**
131
- * Marks session as blocked and emits event on the `SessionPool`
132
- * This method should be used if the session usage was unsuccessful
133
- * and you are sure that it is because of the session configuration and not any external matters.
134
- * For example when server returns 403 status code.
135
- * If the session does not work due to some external factors as server error such as 5XX you probably want to use `markBad` method.
136
- */
137
- retire(): void;
138
- /**
139
- * Increases usage and error count.
140
- * Should be used when the session has been used unsuccessfully. For example because of timeouts.
141
- */
142
- markBad(): void;
143
- /**
144
- * With certain status codes: `401`, `403` or `429` we can be certain
145
- * that the target website is blocking us. This function helps to do this conveniently
146
- * by retiring the session when such code is received. Optionally, the default status
147
- * codes can be extended in the second parameter.
148
- * @param statusCode HTTP status code.
149
- * @returns Whether the session was retired.
150
- */
151
- retireOnBlockedStatusCodes(statusCode: number): boolean;
152
- /**
153
- * Saves cookies from an HTTP response to be used with the session.
154
- * It expects an object with a `headers` property that's either an `Object`
155
- * (typical Node.js responses) or a `Function` (Puppeteer Response).
156
- *
157
- * It then parses and saves the cookies from the `set-cookie` header, if available.
158
- */
159
- setCookiesFromResponse(response: ResponseLike): void;
160
- /**
161
- * Saves an array with cookie objects to be used with the session.
162
- * The objects should be in the format that
163
- * [Puppeteer uses](https://pptr.dev/#?product=Puppeteer&version=v2.0.0&show=api-pagecookiesurls),
164
- * but you can also use this function to set cookies manually:
165
- *
166
- * ```
167
- * [
168
- * { name: 'cookie1', value: 'my-cookie' },
169
- * { name: 'cookie2', value: 'your-cookie' }
170
- * ]
171
- * ```
172
- */
173
- setCookies(cookies: CookieObject[], url: string): void;
174
- /**
175
- * Returns cookies in a format compatible with puppeteer/playwright and ready to be used with `page.setCookie`.
176
- * @param url website url. Only cookies stored for this url will be returned
177
- */
178
- getCookies(url: string): CookieObject[];
179
- /**
180
- * Returns cookies saved with the session in the typical
181
- * key1=value1; key2=value2 format, ready to be used in
182
- * a cookie header or elsewhere.
183
- * @returns Represents `Cookie` header.
184
- */
185
- getCookieString(url: string): string;
186
- /**
187
- * Sets a cookie within this session for the specific URL.
188
- */
189
- setCookie(rawCookie: string, url: string): void;
190
- /**
191
- * Sets cookies.
192
- */
193
- protected _setCookies(cookies: Cookie[], url: string): void;
194
- /**
195
- * Checks if session is not usable. if it is not retires the session.
196
- */
197
- protected _maybeSelfRetire(): void;
198
- }
199
- //# sourceMappingURL=session.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session_pool/session.ts"],"names":[],"mappings":"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"}