scrapfly-sdk 0.6.2 → 0.6.5
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/README.md +4 -2
- package/esm/client.d.ts +17 -14
- package/esm/client.d.ts.map +1 -1
- package/esm/client.js +63 -24
- package/esm/deps/jsr.io/@std/path/1.0.1/_common/from_file_url.d.ts +0 -1
- package/esm/deps/jsr.io/@std/path/1.0.1/_common/from_file_url.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/path/1.0.1/from_file_url.d.ts +0 -1
- package/esm/deps/jsr.io/@std/path/1.0.1/from_file_url.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/path/1.0.1/posix/from_file_url.d.ts +0 -1
- package/esm/deps/jsr.io/@std/path/1.0.1/posix/from_file_url.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/path/1.0.1/posix/to_file_url.d.ts +0 -1
- package/esm/deps/jsr.io/@std/path/1.0.1/posix/to_file_url.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/path/1.0.1/to_file_url.d.ts +0 -1
- package/esm/deps/jsr.io/@std/path/1.0.1/to_file_url.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/path/1.0.1/windows/from_file_url.d.ts +0 -1
- package/esm/deps/jsr.io/@std/path/1.0.1/windows/from_file_url.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/path/1.0.1/windows/to_file_url.d.ts +0 -1
- package/esm/deps/jsr.io/@std/path/1.0.1/windows/to_file_url.d.ts.map +1 -1
- package/esm/polyfill.d.ts +5 -0
- package/esm/polyfill.d.ts.map +1 -0
- package/esm/polyfill.js +20 -0
- package/esm/result.d.ts +0 -1
- package/esm/result.d.ts.map +1 -1
- package/esm/result.js +9 -5
- package/esm/utils.d.ts +9 -2
- package/esm/utils.d.ts.map +1 -1
- package/esm/utils.js +20 -2
- package/package.json +1 -1
- package/script/client.d.ts +17 -14
- package/script/client.d.ts.map +1 -1
- package/script/client.js +63 -24
- package/script/deps/jsr.io/@std/path/1.0.1/_common/assert_path.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/_common/basename.js +3 -4
- package/script/deps/jsr.io/@std/path/1.0.1/_common/common.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/_common/dirname.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/_common/format.js +2 -3
- package/script/deps/jsr.io/@std/path/1.0.1/_common/from_file_url.d.ts +0 -1
- package/script/deps/jsr.io/@std/path/1.0.1/_common/from_file_url.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/path/1.0.1/_common/from_file_url.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/_common/glob_to_reg_exp.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/_common/normalize.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/_common/normalize_string.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/_common/relative.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/_common/strip_trailing_separators.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/_common/to_file_url.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/basename.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/common.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/dirname.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/extname.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/format.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/from_file_url.d.ts +0 -1
- package/script/deps/jsr.io/@std/path/1.0.1/from_file_url.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/path/1.0.1/from_file_url.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/glob_to_regexp.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/is_absolute.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/is_glob.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/join.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/join_globs.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/normalize.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/normalize_glob.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/parse.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/posix/_util.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/posix/basename.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/posix/dirname.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/posix/extname.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/posix/format.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/posix/from_file_url.d.ts +0 -1
- package/script/deps/jsr.io/@std/path/1.0.1/posix/from_file_url.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/path/1.0.1/posix/from_file_url.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/posix/glob_to_regexp.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/posix/is_absolute.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/posix/join.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/posix/join_globs.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/posix/normalize.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/posix/normalize_glob.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/posix/parse.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/posix/relative.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/posix/resolve.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/posix/to_file_url.d.ts +0 -1
- package/script/deps/jsr.io/@std/path/1.0.1/posix/to_file_url.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/path/1.0.1/posix/to_file_url.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/posix/to_namespaced_path.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/relative.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/resolve.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/to_file_url.d.ts +0 -1
- package/script/deps/jsr.io/@std/path/1.0.1/to_file_url.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/path/1.0.1/to_file_url.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/to_namespaced_path.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/windows/_util.js +3 -4
- package/script/deps/jsr.io/@std/path/1.0.1/windows/basename.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/windows/dirname.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/windows/extname.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/windows/format.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/windows/from_file_url.d.ts +0 -1
- package/script/deps/jsr.io/@std/path/1.0.1/windows/from_file_url.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/path/1.0.1/windows/from_file_url.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/windows/glob_to_regexp.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/windows/is_absolute.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/windows/join.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/windows/join_globs.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/windows/normalize.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/windows/normalize_glob.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/windows/parse.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/windows/relative.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/windows/resolve.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/windows/to_file_url.d.ts +0 -1
- package/script/deps/jsr.io/@std/path/1.0.1/windows/to_file_url.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/path/1.0.1/windows/to_file_url.js +1 -2
- package/script/deps/jsr.io/@std/path/1.0.1/windows/to_namespaced_path.js +1 -2
- package/script/polyfill.d.ts +5 -0
- package/script/polyfill.d.ts.map +1 -0
- package/script/polyfill.js +48 -0
- package/script/result.d.ts +0 -1
- package/script/result.d.ts.map +1 -1
- package/script/result.js +9 -5
- package/script/utils.d.ts +9 -2
- package/script/utils.d.ts.map +1 -1
- package/script/utils.js +23 -5
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.isDeno = void 0;
|
|
27
|
+
exports.mkdir = mkdir;
|
|
28
|
+
exports.writeFile = writeFile;
|
|
29
|
+
const dntShim = __importStar(require("./_dnt.shims.js"));
|
|
30
|
+
exports.isDeno = typeof dntShim.Deno !== 'undefined';
|
|
31
|
+
async function mkdir(path, options) {
|
|
32
|
+
if (exports.isDeno) {
|
|
33
|
+
await dntShim.Deno.mkdir(path, options);
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
// @ts-ignore: type for Bun
|
|
37
|
+
await Bun.mkdir(path.toString(), options);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
async function writeFile(path, data, options = {}) {
|
|
41
|
+
if (exports.isDeno) {
|
|
42
|
+
await dntShim.Deno.writeFile(path, data, options);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
// @ts-ignore: type for Bun
|
|
46
|
+
await Bun.write(path.toString(), data, options);
|
|
47
|
+
}
|
|
48
|
+
}
|
package/script/result.d.ts
CHANGED
package/script/result.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../src/result.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../src/result.ts"],"names":[],"mappings":"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"}
|
package/script/result.js
CHANGED
|
@@ -26,6 +26,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
26
26
|
exports.ExtractionResult = exports.ScreenshotResult = exports.ScrapeResult = void 0;
|
|
27
27
|
const errors = __importStar(require("./errors.js"));
|
|
28
28
|
const deps_js_1 = require("./deps.js");
|
|
29
|
+
const utils_js_1 = require("./utils.js");
|
|
29
30
|
class ScrapeResult {
|
|
30
31
|
constructor(data) {
|
|
31
32
|
Object.defineProperty(this, "config", {
|
|
@@ -66,7 +67,8 @@ class ScrapeResult {
|
|
|
66
67
|
}
|
|
67
68
|
get selector() {
|
|
68
69
|
if (!this._selector) {
|
|
69
|
-
|
|
70
|
+
const headers = (0, utils_js_1.normalizeHeaders)(this.result.response_headers);
|
|
71
|
+
if (!headers['content-type'].includes('text/html')) {
|
|
70
72
|
throw new errors.ContentTypeError(`Cannot use selector on non-html content-type, received: ${this.result.response_headers['content-type']}`);
|
|
71
73
|
}
|
|
72
74
|
this._selector = deps_js_1.cheerio.load(this.result.content);
|
|
@@ -100,19 +102,21 @@ class ScreenshotResult {
|
|
|
100
102
|
this.result = this.decodeResponse(response, data); // raw result
|
|
101
103
|
}
|
|
102
104
|
defineMetadata(response) {
|
|
103
|
-
const
|
|
105
|
+
const headers = (0, utils_js_1.normalizeHeaders)(response.headers);
|
|
106
|
+
const contentType = headers['content-type'];
|
|
104
107
|
let extension_name = '';
|
|
105
108
|
if (contentType) {
|
|
106
109
|
extension_name = contentType.split('/')[1].split(';')[0];
|
|
107
110
|
}
|
|
108
111
|
return {
|
|
109
112
|
extension_name: extension_name,
|
|
110
|
-
upstream_status_code: parseInt(
|
|
111
|
-
upstream_url:
|
|
113
|
+
upstream_status_code: parseInt(headers['x-scrapfly-upstream-http-code'] || '200', 10),
|
|
114
|
+
upstream_url: headers['x-scrapfly-upstream-url'] || '',
|
|
112
115
|
};
|
|
113
116
|
}
|
|
114
117
|
decodeResponse(response, data) {
|
|
115
|
-
|
|
118
|
+
const headers = (0, utils_js_1.normalizeHeaders)(response.headers);
|
|
119
|
+
if (headers['content-type'] === 'json') {
|
|
116
120
|
return JSON.parse(new TextDecoder().decode(data));
|
|
117
121
|
}
|
|
118
122
|
return null;
|
package/script/utils.d.ts
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
import type { Rec } from './types.js';
|
|
2
2
|
export declare function urlsafe_b64encode(data: string): string;
|
|
3
|
-
export
|
|
3
|
+
export type RequestOptions = {
|
|
4
|
+
url: string;
|
|
5
|
+
method?: string;
|
|
6
|
+
headers?: any;
|
|
7
|
+
body?: string | Uint8Array;
|
|
8
|
+
};
|
|
9
|
+
export declare function fetchRetry(config: RequestOptions, retries?: number, retryDelay?: number): Promise<Response>;
|
|
10
|
+
export declare function normalizeHeaders(headers: Rec<string> | Headers): Rec<string>;
|
|
4
11
|
//# sourceMappingURL=utils.d.ts.map
|
package/script/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAEtC,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQtD;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;CAC5B,CAAC;AAEF,wBAAsB,UAAU,CAC9B,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,MAAU,EACnB,UAAU,GAAE,MAAa,GACxB,OAAO,CAAC,QAAQ,CAAC,CA+BnB;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAc5E"}
|
package/script/utils.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.urlsafe_b64encode = urlsafe_b64encode;
|
|
4
|
+
exports.fetchRetry = fetchRetry;
|
|
5
|
+
exports.normalizeHeaders = normalizeHeaders;
|
|
6
|
+
const logger_js_1 = require("./logger.js");
|
|
4
7
|
function urlsafe_b64encode(data) {
|
|
5
8
|
const encoder = new TextEncoder();
|
|
6
9
|
const encoded = encoder.encode(data);
|
|
@@ -10,17 +13,19 @@ function urlsafe_b64encode(data) {
|
|
|
10
13
|
.replace(/=+$/, '');
|
|
11
14
|
return base64;
|
|
12
15
|
}
|
|
13
|
-
exports.urlsafe_b64encode = urlsafe_b64encode;
|
|
14
16
|
async function fetchRetry(config, retries = 3, retryDelay = 1000) {
|
|
15
17
|
let lastError = null;
|
|
16
18
|
for (let attempt = 1; attempt <= retries; attempt++) {
|
|
17
19
|
try {
|
|
18
|
-
// XXX:
|
|
19
|
-
const
|
|
20
|
+
// XXX: note that cloudflare workers don't support init options
|
|
21
|
+
const { url, ...reqInit } = config;
|
|
22
|
+
const response = await fetch(new Request(url, reqInit));
|
|
20
23
|
// retry 5xx status codes
|
|
21
24
|
if (response.status >= 500 && response.status < 600) {
|
|
25
|
+
const _text = await response.text(); // consume response to prevent leak
|
|
22
26
|
lastError = new Error(`Fetch failed with status: ${response.status}`);
|
|
23
27
|
if (attempt < retries) {
|
|
28
|
+
logger_js_1.log.debug(`request failed ${response.status} (${_text}): retry ${attempt}/${retries} after ${retryDelay}ms`);
|
|
24
29
|
await new Promise((resolve) => setTimeout(resolve, retryDelay));
|
|
25
30
|
}
|
|
26
31
|
}
|
|
@@ -38,4 +43,17 @@ async function fetchRetry(config, retries = 3, retryDelay = 1000) {
|
|
|
38
43
|
}
|
|
39
44
|
throw lastError;
|
|
40
45
|
}
|
|
41
|
-
|
|
46
|
+
function normalizeHeaders(headers) {
|
|
47
|
+
const normalizedHeaders = {};
|
|
48
|
+
if (headers instanceof Headers) {
|
|
49
|
+
headers.forEach((value, key) => {
|
|
50
|
+
normalizedHeaders[key.toLowerCase()] = value;
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
Object.keys(headers).forEach((key) => {
|
|
55
|
+
normalizedHeaders[key.toLowerCase()] = headers[key];
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
return normalizedHeaders;
|
|
59
|
+
}
|