@haatlabs-core/providers 0.12.0 → 0.12.2
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 +6 -0
- package/dist/cjs/contracts.d.ts +2 -0
- package/dist/cjs/contracts.js +23 -0
- package/dist/cjs/gateway-response.d.ts +4 -0
- package/dist/cjs/gateway-response.js +62 -0
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +2 -0
- package/dist/cjs/safe-fetch/safe-fetch.js +13 -3
- package/dist/cjs/shared-gateway.d.ts +0 -4
- package/dist/cjs/shared-gateway.js +2 -39
- package/dist/contracts.d.ts +2 -0
- package/dist/contracts.js +7 -0
- package/dist/contracts.js.map +1 -0
- package/dist/gateway-response.d.ts +4 -0
- package/dist/gateway-response.js +40 -0
- package/dist/gateway-response.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/safe-fetch/safe-fetch.js +3 -1
- package/dist/safe-fetch/safe-fetch.js.map +1 -1
- package/dist/shared-gateway.d.ts +0 -4
- package/dist/shared-gateway.js +5 -37
- package/dist/shared-gateway.js.map +1 -1
- package/package.json +20 -5
package/README.md
CHANGED
|
@@ -27,6 +27,12 @@ A fetch that failed for now (DNS, a reset, a 5xx or 429 image) is worth another
|
|
|
27
27
|
`localTimeoutMs(timeoutMs, call)` bounds an adapter's own timeout by the call's deadline, and
|
|
28
28
|
`retryAfterMsOf(response.headers)` reads a `Retry-After` (seconds or a date, at most 300 s).
|
|
29
29
|
|
|
30
|
+
**`@haatlabs-core/providers/contracts`** (0.12.1): `PROVIDERS_ERRORS`, `ProviderErrorCode` and
|
|
31
|
+
`createProviderError`, and the services-gateway contract (`SharedTier`, `SharedPriority`,
|
|
32
|
+
`CallContext`, `sharedTierMap`, `bestTier`, `gatewayHeaders`, `GATEWAY_HEADER`,
|
|
33
|
+
`UpstreamStatusError`), with nothing of Node, undici or the tracing SDK: a project's contracts, which its pages load, import from here and never the root, which is for Node. Safe
|
|
34
|
+
fetch loads undici only when it sends a request.
|
|
35
|
+
|
|
30
36
|
## Install
|
|
31
37
|
|
|
32
38
|
pnpm add @haatlabs-core/providers
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __copyProps = (to, from, except, desc) => {
|
|
6
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
7
|
+
for (let key of __getOwnPropNames(from))
|
|
8
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
9
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
10
|
+
}
|
|
11
|
+
return to;
|
|
12
|
+
};
|
|
13
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
15
|
+
var contracts_exports = {};
|
|
16
|
+
module.exports = __toCommonJS(contracts_exports);
|
|
17
|
+
__reExport(contracts_exports, require("./errors.js"), module.exports);
|
|
18
|
+
__reExport(contracts_exports, require("./shared-gateway.js"), module.exports);
|
|
19
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
20
|
+
0 && (module.exports = {
|
|
21
|
+
...require("./errors.js"),
|
|
22
|
+
...require("./shared-gateway.js")
|
|
23
|
+
});
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** The body, or null once it is over `maxBytes` (announced or read): no more of it is read. */
|
|
2
|
+
export declare function readAtMost(response: Response, maxBytes: number): Promise<Buffer | null>;
|
|
3
|
+
/** The `error` word of a small JSON refusal body from the gateway, or null. */
|
|
4
|
+
export declare function gatewayErrorOf(response: Response): Promise<string | null>;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
var gateway_response_exports = {};
|
|
19
|
+
__export(gateway_response_exports, {
|
|
20
|
+
gatewayErrorOf: () => gatewayErrorOf,
|
|
21
|
+
readAtMost: () => readAtMost
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(gateway_response_exports);
|
|
24
|
+
var import_shared_gateway = require("./shared-gateway.js");
|
|
25
|
+
const ERROR_WORD = /^[a-z_]{1,64}$/;
|
|
26
|
+
async function readAtMost(response, maxBytes) {
|
|
27
|
+
if (Number(response.headers.get("content-length") ?? 0) > maxBytes) {
|
|
28
|
+
await response.body?.cancel().catch(() => void 0);
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
if (!response.body)
|
|
32
|
+
return Buffer.alloc(0);
|
|
33
|
+
const reader = response.body.getReader();
|
|
34
|
+
const chunks = [];
|
|
35
|
+
let size = 0;
|
|
36
|
+
for (; ; ) {
|
|
37
|
+
const { done, value } = await reader.read();
|
|
38
|
+
if (done)
|
|
39
|
+
break;
|
|
40
|
+
size += value.byteLength;
|
|
41
|
+
if (size > maxBytes) {
|
|
42
|
+
await reader.cancel().catch(() => void 0);
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
chunks.push(value);
|
|
46
|
+
}
|
|
47
|
+
return Buffer.concat(chunks);
|
|
48
|
+
}
|
|
49
|
+
async function gatewayErrorOf(response) {
|
|
50
|
+
try {
|
|
51
|
+
const body = await readAtMost(response, import_shared_gateway.MAX_GATEWAY_ERROR_BYTES);
|
|
52
|
+
const word = JSON.parse(body?.toString("utf8") ?? "")?.error;
|
|
53
|
+
return typeof word === "string" && ERROR_WORD.test(word) ? word : null;
|
|
54
|
+
} catch {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
59
|
+
0 && (module.exports = {
|
|
60
|
+
gatewayErrorOf,
|
|
61
|
+
readAtMost
|
|
62
|
+
});
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export * from './turns.js';
|
|
|
6
6
|
export * from './protect.js';
|
|
7
7
|
export * from './concurrency.js';
|
|
8
8
|
export * from './shared-gateway.js';
|
|
9
|
+
export * from './gateway-response.js';
|
|
9
10
|
export * from './retry-after.js';
|
|
10
11
|
export * from './cache/hash.js';
|
|
11
12
|
export * from './cache/codecs.js';
|
package/dist/cjs/index.js
CHANGED
|
@@ -29,6 +29,7 @@ __reExport(index_exports, require("./turns.js"), module.exports);
|
|
|
29
29
|
__reExport(index_exports, require("./protect.js"), module.exports);
|
|
30
30
|
__reExport(index_exports, require("./concurrency.js"), module.exports);
|
|
31
31
|
__reExport(index_exports, require("./shared-gateway.js"), module.exports);
|
|
32
|
+
__reExport(index_exports, require("./gateway-response.js"), module.exports);
|
|
32
33
|
__reExport(index_exports, require("./retry-after.js"), module.exports);
|
|
33
34
|
__reExport(index_exports, require("./cache/hash.js"), module.exports);
|
|
34
35
|
__reExport(index_exports, require("./cache/codecs.js"), module.exports);
|
|
@@ -47,6 +48,7 @@ __reExport(index_exports, require("./shared-call.js"), module.exports);
|
|
|
47
48
|
...require("./protect.js"),
|
|
48
49
|
...require("./concurrency.js"),
|
|
49
50
|
...require("./shared-gateway.js"),
|
|
51
|
+
...require("./gateway-response.js"),
|
|
50
52
|
...require("./retry-after.js"),
|
|
51
53
|
...require("./cache/hash.js"),
|
|
52
54
|
...require("./cache/codecs.js"),
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
1
2
|
var __defProp = Object.defineProperty;
|
|
2
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
4
6
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
7
|
var __export = (target, all) => {
|
|
6
8
|
for (var name in all)
|
|
@@ -14,6 +16,14 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
14
16
|
}
|
|
15
17
|
return to;
|
|
16
18
|
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
+
mod
|
|
26
|
+
));
|
|
17
27
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
28
|
var safe_fetch_exports = {};
|
|
19
29
|
__export(safe_fetch_exports, {
|
|
@@ -29,7 +39,6 @@ __export(safe_fetch_exports, {
|
|
|
29
39
|
module.exports = __toCommonJS(safe_fetch_exports);
|
|
30
40
|
var import_promises = require("node:dns/promises");
|
|
31
41
|
var import_node_net = require("node:net");
|
|
32
|
-
var import_undici = require("undici");
|
|
33
42
|
var import_abort = require("../abort.js");
|
|
34
43
|
var import_address = require("./address.js");
|
|
35
44
|
var import_errors = require("./errors.js");
|
|
@@ -193,7 +202,8 @@ async function fetchHop(url, target, hop, options, signal, follows) {
|
|
|
193
202
|
const tooLarge = (httpStatus) => rejection(options, "TOO_LARGE_BYTES", `${hop.noun} is larger than the size limit`, {
|
|
194
203
|
httpStatus
|
|
195
204
|
});
|
|
196
|
-
const
|
|
205
|
+
const { Agent, request } = await import("undici");
|
|
206
|
+
const agent = new Agent({
|
|
197
207
|
connect: {
|
|
198
208
|
// The HTTP client asks us for the address instead of resolving the name again, so the
|
|
199
209
|
// connection cannot go anywhere but the validated address. The Host header and TLS
|
|
@@ -209,7 +219,7 @@ async function fetchHop(url, target, hop, options, signal, follows) {
|
|
|
209
219
|
});
|
|
210
220
|
let status;
|
|
211
221
|
try {
|
|
212
|
-
const response = await
|
|
222
|
+
const response = await request(url, {
|
|
213
223
|
method: hop.method,
|
|
214
224
|
dispatcher: agent,
|
|
215
225
|
signal,
|
|
@@ -82,7 +82,3 @@ export declare class UpstreamStatusError extends Error {
|
|
|
82
82
|
export declare function upstreamStatusOf(error: unknown): UpstreamStatusError | null;
|
|
83
83
|
/** True when the shared gateway refused the key (401 or 403). */
|
|
84
84
|
export declare const isGatewayRefusal: (error: unknown) => boolean;
|
|
85
|
-
/** The body, or null once it is over `maxBytes` (announced or read): no more of it is read. */
|
|
86
|
-
export declare function readAtMost(response: Response, maxBytes: number): Promise<Buffer | null>;
|
|
87
|
-
/** The `error` word of a small JSON refusal body from the gateway, or null. */
|
|
88
|
-
export declare function gatewayErrorOf(response: Response): Promise<string | null>;
|
|
@@ -23,22 +23,19 @@ __export(shared_gateway_exports, {
|
|
|
23
23
|
UpstreamStatusError: () => UpstreamStatusError,
|
|
24
24
|
bestTier: () => bestTier,
|
|
25
25
|
gatewayAuthorization: () => gatewayAuthorization,
|
|
26
|
-
gatewayErrorOf: () => gatewayErrorOf,
|
|
27
26
|
gatewayHeaders: () => gatewayHeaders,
|
|
28
27
|
gatewayHeadersFor: () => gatewayHeadersFor,
|
|
29
28
|
isGatewayRefusal: () => isGatewayRefusal,
|
|
30
29
|
isUpstreamStatusError: () => isUpstreamStatusError,
|
|
31
30
|
localTimeoutMs: () => localTimeoutMs,
|
|
32
|
-
readAtMost: () => readAtMost,
|
|
33
31
|
sharedTierMap: () => sharedTierMap,
|
|
34
32
|
upstreamStatusOf: () => upstreamStatusOf
|
|
35
33
|
});
|
|
36
34
|
module.exports = __toCommonJS(shared_gateway_exports);
|
|
37
|
-
var
|
|
35
|
+
var import_context = require("@haatlabs-core/observability/context");
|
|
38
36
|
const MAX_GATEWAY_ERROR_BYTES = 2048;
|
|
39
37
|
const MAX_GATEWAY_DEADLINE_MS = 6e5;
|
|
40
38
|
const LOWEST_TIER = 4;
|
|
41
|
-
const ERROR_WORD = /^[a-z_]{1,64}$/;
|
|
42
39
|
const GATEWAY_HEADER = {
|
|
43
40
|
authorization: "authorization",
|
|
44
41
|
tier: "x-haatlabs-tier",
|
|
@@ -56,7 +53,7 @@ function deadlineHeader(ms) {
|
|
|
56
53
|
function gatewayHeaders(o) {
|
|
57
54
|
if (!o.key)
|
|
58
55
|
return {};
|
|
59
|
-
const traceparent = (0,
|
|
56
|
+
const traceparent = (0, import_context.currentTraceContext)();
|
|
60
57
|
return {
|
|
61
58
|
...traceparent ? { traceparent } : {},
|
|
62
59
|
...gatewayAuthorization(o.key),
|
|
@@ -119,38 +116,6 @@ function upstreamStatusOf(error) {
|
|
|
119
116
|
return error instanceof Error && isUpstreamStatusError(error.cause) ? error.cause : null;
|
|
120
117
|
}
|
|
121
118
|
const isGatewayRefusal = (error) => upstreamStatusOf(error)?.refused === true;
|
|
122
|
-
async function readAtMost(response, maxBytes) {
|
|
123
|
-
if (Number(response.headers.get("content-length") ?? 0) > maxBytes) {
|
|
124
|
-
await response.body?.cancel().catch(() => void 0);
|
|
125
|
-
return null;
|
|
126
|
-
}
|
|
127
|
-
if (!response.body)
|
|
128
|
-
return Buffer.alloc(0);
|
|
129
|
-
const reader = response.body.getReader();
|
|
130
|
-
const chunks = [];
|
|
131
|
-
let size = 0;
|
|
132
|
-
for (; ; ) {
|
|
133
|
-
const { done, value } = await reader.read();
|
|
134
|
-
if (done)
|
|
135
|
-
break;
|
|
136
|
-
size += value.byteLength;
|
|
137
|
-
if (size > maxBytes) {
|
|
138
|
-
await reader.cancel().catch(() => void 0);
|
|
139
|
-
return null;
|
|
140
|
-
}
|
|
141
|
-
chunks.push(value);
|
|
142
|
-
}
|
|
143
|
-
return Buffer.concat(chunks);
|
|
144
|
-
}
|
|
145
|
-
async function gatewayErrorOf(response) {
|
|
146
|
-
try {
|
|
147
|
-
const body = await readAtMost(response, MAX_GATEWAY_ERROR_BYTES);
|
|
148
|
-
const word = JSON.parse(body?.toString("utf8") ?? "")?.error;
|
|
149
|
-
return typeof word === "string" && ERROR_WORD.test(word) ? word : null;
|
|
150
|
-
} catch {
|
|
151
|
-
return null;
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
119
|
// Annotate the CommonJS export names for ESM import in node:
|
|
155
120
|
0 && (module.exports = {
|
|
156
121
|
GATEWAY_HEADER,
|
|
@@ -159,13 +124,11 @@ async function gatewayErrorOf(response) {
|
|
|
159
124
|
UpstreamStatusError,
|
|
160
125
|
bestTier,
|
|
161
126
|
gatewayAuthorization,
|
|
162
|
-
gatewayErrorOf,
|
|
163
127
|
gatewayHeaders,
|
|
164
128
|
gatewayHeadersFor,
|
|
165
129
|
isGatewayRefusal,
|
|
166
130
|
isUpstreamStatusError,
|
|
167
131
|
localTimeoutMs,
|
|
168
|
-
readAtMost,
|
|
169
132
|
sharedTierMap,
|
|
170
133
|
upstreamStatusOf
|
|
171
134
|
});
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// What a project's contracts, which its browser code also loads, may take from this package:
|
|
2
|
+
// the error codes and the shared gateway's contract (tiers, headers, refusals). Nothing here
|
|
3
|
+
// loads a Node built-in, undici, ipaddr.js or the tracing SDK: scripts/check-browser.mjs
|
|
4
|
+
// bundles it for a browser and runs it.
|
|
5
|
+
export * from './errors.js';
|
|
6
|
+
export * from './shared-gateway.js';
|
|
7
|
+
//# sourceMappingURL=contracts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,6FAA6F;AAC7F,yFAAyF;AACzF,wCAAwC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** The body, or null once it is over `maxBytes` (announced or read): no more of it is read. */
|
|
2
|
+
export declare function readAtMost(response: Response, maxBytes: number): Promise<Buffer | null>;
|
|
3
|
+
/** The `error` word of a small JSON refusal body from the gateway, or null. */
|
|
4
|
+
export declare function gatewayErrorOf(response: Response): Promise<string | null>;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
// Reading a gateway's response on the server (Buffer): kept out of shared-gateway.ts, which
|
|
2
|
+
// is in the browser-safe @haatlabs-core/providers/contracts.
|
|
3
|
+
import { MAX_GATEWAY_ERROR_BYTES } from './shared-gateway.js';
|
|
4
|
+
const ERROR_WORD = /^[a-z_]{1,64}$/;
|
|
5
|
+
/** The body, or null once it is over `maxBytes` (announced or read): no more of it is read. */
|
|
6
|
+
export async function readAtMost(response, maxBytes) {
|
|
7
|
+
if (Number(response.headers.get('content-length') ?? 0) > maxBytes) {
|
|
8
|
+
await response.body?.cancel().catch(() => undefined);
|
|
9
|
+
return null;
|
|
10
|
+
}
|
|
11
|
+
if (!response.body)
|
|
12
|
+
return Buffer.alloc(0);
|
|
13
|
+
const reader = response.body.getReader();
|
|
14
|
+
const chunks = [];
|
|
15
|
+
let size = 0;
|
|
16
|
+
for (;;) {
|
|
17
|
+
const { done, value } = await reader.read();
|
|
18
|
+
if (done)
|
|
19
|
+
break;
|
|
20
|
+
size += value.byteLength;
|
|
21
|
+
if (size > maxBytes) {
|
|
22
|
+
await reader.cancel().catch(() => undefined);
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
chunks.push(value);
|
|
26
|
+
}
|
|
27
|
+
return Buffer.concat(chunks);
|
|
28
|
+
}
|
|
29
|
+
/** The `error` word of a small JSON refusal body from the gateway, or null. */
|
|
30
|
+
export async function gatewayErrorOf(response) {
|
|
31
|
+
try {
|
|
32
|
+
const body = await readAtMost(response, MAX_GATEWAY_ERROR_BYTES);
|
|
33
|
+
const word = JSON.parse(body?.toString('utf8') ?? '')?.error;
|
|
34
|
+
return typeof word === 'string' && ERROR_WORD.test(word) ? word : null;
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=gateway-response.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gateway-response.js","sourceRoot":"","sources":["../src/gateway-response.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,wDAAwD;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,MAAM,UAAU,GAAG,gBAAgB,CAAC;AAEpC,+FAA+F;AAC/F,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,QAAkB,EAAE,QAAgB;IACnE,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,QAAQ,EAAE,CAAC;QACnE,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,IAAI;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;IACzC,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,SAAS,CAAC;QACR,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,IAAI;YAAE,MAAM;QAChB,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC;QACzB,IAAI,IAAI,GAAG,QAAQ,EAAE,CAAC;YACpB,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC7C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAkB;IACrD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAC;QACjE,MAAM,IAAI,GAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,CAAgC,EAAE,KAAK,CAAC;QAC7F,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACzE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export * from './turns.js';
|
|
|
6
6
|
export * from './protect.js';
|
|
7
7
|
export * from './concurrency.js';
|
|
8
8
|
export * from './shared-gateway.js';
|
|
9
|
+
export * from './gateway-response.js';
|
|
9
10
|
export * from './retry-after.js';
|
|
10
11
|
export * from './cache/hash.js';
|
|
11
12
|
export * from './cache/codecs.js';
|
package/dist/index.js
CHANGED
|
@@ -6,6 +6,7 @@ export * from './turns.js';
|
|
|
6
6
|
export * from './protect.js';
|
|
7
7
|
export * from './concurrency.js';
|
|
8
8
|
export * from './shared-gateway.js';
|
|
9
|
+
export * from './gateway-response.js';
|
|
9
10
|
export * from './retry-after.js';
|
|
10
11
|
// The cache without its Redis store, so the root's types never name ioredis: the store is in
|
|
11
12
|
// `@haatlabs-core/providers/cache`.
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,6FAA6F;AAC7F,+BAA+B;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,kFAAkF;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,6FAA6F;AAC7F,+BAA+B;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,kFAAkF;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,cAAc,kBAAkB,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Resolver } from 'node:dns/promises';
|
|
2
2
|
import { isIP } from 'node:net';
|
|
3
|
-
import { Agent, request } from 'undici';
|
|
4
3
|
import { abortError } from '../abort.js';
|
|
5
4
|
import { isBlockedAddress } from './address.js';
|
|
6
5
|
import { SafeFetchError } from './errors.js';
|
|
@@ -208,6 +207,9 @@ async function fetchHop(url, target, hop, options, signal, follows) {
|
|
|
208
207
|
const tooLarge = (httpStatus) => rejection(options, 'TOO_LARGE_BYTES', `${hop.noun} is larger than the size limit`, {
|
|
209
208
|
httpStatus,
|
|
210
209
|
});
|
|
210
|
+
// undici is loaded here, where a request is made, never when the module is: a bundle that
|
|
211
|
+
// reaches this file by mistake does not load an HTTP client for Node at its start.
|
|
212
|
+
const { Agent, request } = await import('undici');
|
|
211
213
|
const agent = new Agent({
|
|
212
214
|
connect: {
|
|
213
215
|
// The HTTP client asks us for the address instead of resolving the name again, so the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safe-fetch.js","sourceRoot":"","sources":["../../src/safe-fetch/safe-fetch.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"safe-fetch.js","sourceRoot":"","sources":["../../src/safe-fetch/safe-fetch.ts"],"names":[],"mappings":"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"}
|
package/dist/shared-gateway.d.ts
CHANGED
|
@@ -82,7 +82,3 @@ export declare class UpstreamStatusError extends Error {
|
|
|
82
82
|
export declare function upstreamStatusOf(error: unknown): UpstreamStatusError | null;
|
|
83
83
|
/** True when the shared gateway refused the key (401 or 403). */
|
|
84
84
|
export declare const isGatewayRefusal: (error: unknown) => boolean;
|
|
85
|
-
/** The body, or null once it is over `maxBytes` (announced or read): no more of it is read. */
|
|
86
|
-
export declare function readAtMost(response: Response, maxBytes: number): Promise<Buffer | null>;
|
|
87
|
-
/** The `error` word of a small JSON refusal body from the gateway, or null. */
|
|
88
|
-
export declare function gatewayErrorOf(response: Response): Promise<string | null>;
|
package/dist/shared-gateway.js
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
// The gateway's contract: what a call sends and how a refusal reads. No Node built-in, and
|
|
2
|
+
// the trace context from @haatlabs-core/observability/context alone, so this is in
|
|
3
|
+
// @haatlabs-core/providers/contracts, which a project's browser code may load. Reading a
|
|
4
|
+
// response's body (Buffer) is in gateway-response.ts.
|
|
5
|
+
import { currentTraceContext } from '@haatlabs-core/observability/context';
|
|
2
6
|
/** The longest gateway refusal body read for its `error` word. */
|
|
3
7
|
export const MAX_GATEWAY_ERROR_BYTES = 2048;
|
|
4
8
|
/** The longest deadline the gateway accepts. */
|
|
5
9
|
export const MAX_GATEWAY_DEADLINE_MS = 600_000;
|
|
6
10
|
const LOWEST_TIER = 4;
|
|
7
|
-
const ERROR_WORD = /^[a-z_]{1,64}$/;
|
|
8
11
|
/** The gateway's header names (lowercase), so no caller writes them by hand. */
|
|
9
12
|
export const GATEWAY_HEADER = {
|
|
10
13
|
authorization: 'authorization',
|
|
@@ -125,39 +128,4 @@ export function upstreamStatusOf(error) {
|
|
|
125
128
|
}
|
|
126
129
|
/** True when the shared gateway refused the key (401 or 403). */
|
|
127
130
|
export const isGatewayRefusal = (error) => upstreamStatusOf(error)?.refused === true;
|
|
128
|
-
/** The body, or null once it is over `maxBytes` (announced or read): no more of it is read. */
|
|
129
|
-
export async function readAtMost(response, maxBytes) {
|
|
130
|
-
if (Number(response.headers.get('content-length') ?? 0) > maxBytes) {
|
|
131
|
-
await response.body?.cancel().catch(() => undefined);
|
|
132
|
-
return null;
|
|
133
|
-
}
|
|
134
|
-
if (!response.body)
|
|
135
|
-
return Buffer.alloc(0);
|
|
136
|
-
const reader = response.body.getReader();
|
|
137
|
-
const chunks = [];
|
|
138
|
-
let size = 0;
|
|
139
|
-
for (;;) {
|
|
140
|
-
const { done, value } = await reader.read();
|
|
141
|
-
if (done)
|
|
142
|
-
break;
|
|
143
|
-
size += value.byteLength;
|
|
144
|
-
if (size > maxBytes) {
|
|
145
|
-
await reader.cancel().catch(() => undefined);
|
|
146
|
-
return null;
|
|
147
|
-
}
|
|
148
|
-
chunks.push(value);
|
|
149
|
-
}
|
|
150
|
-
return Buffer.concat(chunks);
|
|
151
|
-
}
|
|
152
|
-
/** The `error` word of a small JSON refusal body from the gateway, or null. */
|
|
153
|
-
export async function gatewayErrorOf(response) {
|
|
154
|
-
try {
|
|
155
|
-
const body = await readAtMost(response, MAX_GATEWAY_ERROR_BYTES);
|
|
156
|
-
const word = JSON.parse(body?.toString('utf8') ?? '')?.error;
|
|
157
|
-
return typeof word === 'string' && ERROR_WORD.test(word) ? word : null;
|
|
158
|
-
}
|
|
159
|
-
catch {
|
|
160
|
-
return null;
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
131
|
//# sourceMappingURL=shared-gateway.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared-gateway.js","sourceRoot":"","sources":["../src/shared-gateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"shared-gateway.js","sourceRoot":"","sources":["../src/shared-gateway.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@haatlabs-core/providers",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.2",
|
|
4
4
|
"description": "Retry, circuit breaker, rate and concurrency limits for calling outside services.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"haatlabs"
|
|
@@ -34,6 +34,16 @@
|
|
|
34
34
|
"default": "./dist/cjs/index.js"
|
|
35
35
|
}
|
|
36
36
|
},
|
|
37
|
+
"./contracts": {
|
|
38
|
+
"import": {
|
|
39
|
+
"types": "./dist/contracts.d.ts",
|
|
40
|
+
"default": "./dist/contracts.js"
|
|
41
|
+
},
|
|
42
|
+
"require": {
|
|
43
|
+
"types": "./dist/cjs/contracts.d.ts",
|
|
44
|
+
"default": "./dist/cjs/contracts.js"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
37
47
|
"./cache": {
|
|
38
48
|
"import": {
|
|
39
49
|
"types": "./dist/cache.d.ts",
|
|
@@ -55,11 +65,16 @@
|
|
|
55
65
|
}
|
|
56
66
|
}
|
|
57
67
|
},
|
|
68
|
+
"haatlabs": {
|
|
69
|
+
"browser": [
|
|
70
|
+
"./contracts"
|
|
71
|
+
]
|
|
72
|
+
},
|
|
58
73
|
"dependencies": {
|
|
59
74
|
"ipaddr.js": "^2.5.0",
|
|
60
75
|
"undici": "^8.11.2",
|
|
61
|
-
"@haatlabs-core/errors": "0.12.
|
|
62
|
-
"@haatlabs-core/observability": "0.12.
|
|
76
|
+
"@haatlabs-core/errors": "0.12.2",
|
|
77
|
+
"@haatlabs-core/observability": "0.12.2"
|
|
63
78
|
},
|
|
64
79
|
"devDependencies": {
|
|
65
80
|
"@opentelemetry/sdk-trace-node": "^2.11.0",
|
|
@@ -67,8 +82,8 @@
|
|
|
67
82
|
"ioredis": "^6.0.0",
|
|
68
83
|
"testcontainers": "^12.2.0",
|
|
69
84
|
"zod": "^4.6.5",
|
|
70
|
-
"@haatlabs-core/tsconfig": "0.12.
|
|
71
|
-
"@haatlabs-core/vitest-config": "0.12.
|
|
85
|
+
"@haatlabs-core/tsconfig": "0.12.2",
|
|
86
|
+
"@haatlabs-core/vitest-config": "0.12.2"
|
|
72
87
|
},
|
|
73
88
|
"peerDependencies": {
|
|
74
89
|
"ioredis": "^6.0.0"
|