@crawlee/basic 4.0.0-beta.21 → 4.0.0-beta.22

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.
@@ -1,5 +1,5 @@
1
- import type { Request, Session } from '@crawlee/core';
2
- import type { BaseHttpClient, HttpRequestOptions } from '@crawlee/types';
1
+ import type { Request as CrawleeRequest, Session } from '@crawlee/core';
2
+ import type { BaseHttpClient, HttpRequestOptions, SendRequestOptions } from '@crawlee/types';
3
3
  /**
4
4
  * Prepares a function to be used as the `sendRequest` context helper.
5
5
  *
@@ -7,7 +7,6 @@ import type { BaseHttpClient, HttpRequestOptions } from '@crawlee/types';
7
7
  * @param httpClient The HTTP client that will perform the requests.
8
8
  * @param originRequest The crawling request being processed.
9
9
  * @param session The user session associated with the current request.
10
- * @param getProxyUrl A function that will return the proxy URL that should be used for handling the request.
11
10
  */
12
- export declare function createSendRequest(httpClient: BaseHttpClient, originRequest: Request, session: Session | undefined): (overrideOptions?: Partial<HttpRequestOptions>) => Promise<Response>;
11
+ export declare function createSendRequest(httpClient: BaseHttpClient, originRequest: CrawleeRequest, session: Session | undefined): (overrideRequest?: Partial<HttpRequestOptions>, overrideOptions?: SendRequestOptions) => Promise<Response>;
13
12
  //# sourceMappingURL=send-request.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"send-request.d.ts","sourceRoot":"","sources":["../../src/internals/send-request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzE;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,SAAS,IAChG,kBAAiB,OAAO,CAAC,kBAAkB,CAAM,KAAG,OAAO,CAAC,QAAQ,CAAC,CAWtF"}
1
+ {"version":3,"file":"send-request.d.ts","sourceRoot":"","sources":["../../src/internals/send-request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,IAAI,cAAc,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAE7F;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC7B,UAAU,EAAE,cAAc,EAC1B,aAAa,EAAE,cAAc,EAC7B,OAAO,EAAE,OAAO,GAAG,SAAS,IAGxB,kBAAiB,OAAO,CAAC,kBAAkB,CAAM,EACjD,kBAAiB,kBAAuB,KACzC,OAAO,CAAC,QAAQ,CAAC,CA6BvB"}
@@ -5,18 +5,32 @@
5
5
  * @param httpClient The HTTP client that will perform the requests.
6
6
  * @param originRequest The crawling request being processed.
7
7
  * @param session The user session associated with the current request.
8
- * @param getProxyUrl A function that will return the proxy URL that should be used for handling the request.
9
8
  */
10
9
  export function createSendRequest(httpClient, originRequest, session) {
11
- return async (overrideOptions = {}) => {
12
- const cookieJar = session
13
- ? {
14
- getCookieString: async (url) => session.getCookieString(url),
15
- setCookie: async (rawCookie, url) => session.setCookie(rawCookie, url),
16
- ...overrideOptions?.cookieJar,
17
- }
18
- : overrideOptions?.cookieJar;
19
- return httpClient.sendRequest(originRequest.intoFetchAPIRequest(), { session, cookieJar: cookieJar });
10
+ return async (overrideRequest = {}, overrideOptions = {}) => {
11
+ const sessionCookieJar = {
12
+ getCookieString: async (url) => session?.getCookieString(url),
13
+ setCookie: async (rawCookie, url) => session?.setCookie(rawCookie, url),
14
+ };
15
+ const baseRequest = originRequest.intoFetchAPIRequest();
16
+ const mergedUrl = overrideRequest.url ?? baseRequest.url;
17
+ const mergedMethod = overrideRequest.method ?? baseRequest.method;
18
+ const mergedHeaders = new Headers(baseRequest.headers);
19
+ if (overrideRequest.headers) {
20
+ overrideRequest.headers.forEach((value, key) => {
21
+ mergedHeaders.set(key, value);
22
+ });
23
+ }
24
+ const request = new Request(mergedUrl, {
25
+ method: mergedMethod,
26
+ headers: mergedHeaders,
27
+ body: overrideRequest.body ?? baseRequest.body,
28
+ });
29
+ return httpClient.sendRequest(request, {
30
+ session,
31
+ cookieJar: overrideOptions?.cookieJar ?? sessionCookieJar,
32
+ timeout: overrideOptions.timeout,
33
+ });
20
34
  };
21
35
  }
22
36
  //# sourceMappingURL=send-request.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"send-request.js","sourceRoot":"","sources":["../../src/internals/send-request.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAA0B,EAAE,aAAsB,EAAE,OAA4B;IAC9G,OAAO,KAAK,EAAE,kBAA+C,EAAE,EAAqB,EAAE;QAClF,MAAM,SAAS,GAAG,OAAO;YACrB,CAAC,CAAC;gBACI,eAAe,EAAE,KAAK,EAAE,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC;gBACpE,SAAS,EAAE,KAAK,EAAE,SAAiB,EAAE,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC;gBACtF,GAAG,eAAe,EAAE,SAAS;aAChC;YACH,CAAC,CAAC,eAAe,EAAE,SAAS,CAAC;QAEjC,OAAO,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,mBAAmB,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,SAAgB,EAAE,CAAC,CAAC;IACjH,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"send-request.js","sourceRoot":"","sources":["../../src/internals/send-request.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAC7B,UAA0B,EAC1B,aAA6B,EAC7B,OAA4B;IAE5B,OAAO,KAAK,EACR,kBAA+C,EAAE,EACjD,kBAAsC,EAAE,EACvB,EAAE;QACnB,MAAM,gBAAgB,GAAG;YACrB,eAAe,EAAE,KAAK,EAAE,GAAW,EAAE,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC;YACrE,SAAS,EAAE,KAAK,EAAE,SAAiB,EAAE,GAAW,EAAE,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC;SAC1F,CAAC;QAEF,MAAM,WAAW,GAAG,aAAa,CAAC,mBAAmB,EAAE,CAAC;QACxD,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC;QACzD,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC;QAElE,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;YAC1B,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;gBAC3C,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;QACP,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,SAAS,EAAE;YACnC,MAAM,EAAE,YAAY;YACpB,OAAO,EAAE,aAAa;YACtB,IAAI,EAAE,eAAe,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI;SAClC,CAAC,CAAC;QAElB,OAAO,UAAU,CAAC,WAAW,CAAC,OAAO,EAAE;YACnC,OAAO;YACP,SAAS,EAAE,eAAe,EAAE,SAAS,IAAK,gBAAwB;YAClE,OAAO,EAAE,eAAe,CAAC,OAAO;SACnC,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crawlee/basic",
3
- "version": "4.0.0-beta.21",
3
+ "version": "4.0.0-beta.22",
4
4
  "description": "The scalable web crawling and scraping library for JavaScript/Node.js. Enables development of data extraction and web automation jobs (not only) with headless Chrome and Puppeteer.",
5
5
  "engines": {
6
6
  "node": ">=22.0.0"
@@ -42,9 +42,9 @@
42
42
  "@apify/log": "^2.5.18",
43
43
  "@apify/timeout": "^0.3.2",
44
44
  "@apify/utilities": "^2.15.5",
45
- "@crawlee/core": "4.0.0-beta.21",
46
- "@crawlee/types": "4.0.0-beta.21",
47
- "@crawlee/utils": "4.0.0-beta.21",
45
+ "@crawlee/core": "4.0.0-beta.22",
46
+ "@crawlee/types": "4.0.0-beta.22",
47
+ "@crawlee/utils": "4.0.0-beta.22",
48
48
  "csv-stringify": "^6.5.2",
49
49
  "fs-extra": "^11.3.0",
50
50
  "got-scraping": "^4.1.1",
@@ -60,5 +60,5 @@
60
60
  }
61
61
  }
62
62
  },
63
- "gitHead": "e370ab2f4ffcf4f63b52a61c9b6e97081d525e64"
63
+ "gitHead": "74e5a8dae2b5c919ca40cc3f9135744448aca0ac"
64
64
  }