@dofek/provider-http 0.1.0 → 0.1.1
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 +19 -6
- package/dist/adaptive-rate-limit.d.ts.map +1 -1
- package/dist/adaptive-rate-limit.js +27 -10
- package/dist/adaptive-rate-limit.js.map +1 -1
- package/dist/rate-limit-types.d.ts +15 -0
- package/dist/rate-limit-types.d.ts.map +1 -1
- package/dist/rate-limit-types.js +17 -0
- package/dist/rate-limit-types.js.map +1 -1
- package/dist/rate-limit.d.ts +5 -3
- package/dist/rate-limit.d.ts.map +1 -1
- package/dist/rate-limit.js +55 -3
- package/dist/rate-limit.js.map +1 -1
- package/package.json +3 -5
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# @dofek/provider-http
|
|
2
2
|
|
|
3
|
-
Fetch-compatible HTTP helpers for provider integrations that need typed
|
|
4
|
-
|
|
5
|
-
request admission.
|
|
3
|
+
Fetch-compatible HTTP helpers for provider integrations that need typed
|
|
4
|
+
rate-limit, service-unavailable, and request-timeout errors; `Retry-After`
|
|
5
|
+
parsing; and optional adaptive request admission.
|
|
6
6
|
|
|
7
7
|
## Install
|
|
8
8
|
|
|
@@ -19,6 +19,7 @@ Requires Node.js 22.14 or newer and its built-in
|
|
|
19
19
|
import {
|
|
20
20
|
createRateLimitAwareFetch,
|
|
21
21
|
ProviderRateLimitError,
|
|
22
|
+
ProviderRequestTimeoutError,
|
|
22
23
|
} from "@dofek/provider-http";
|
|
23
24
|
|
|
24
25
|
const providerFetch = createRateLimitAwareFetch(fetch, {
|
|
@@ -34,6 +35,8 @@ try {
|
|
|
34
35
|
} catch (error) {
|
|
35
36
|
if (error instanceof ProviderRateLimitError) {
|
|
36
37
|
console.log(`Retry after ${error.retryAfterSeconds ?? "an unknown number of"} seconds`);
|
|
38
|
+
} else if (error instanceof ProviderRequestTimeoutError) {
|
|
39
|
+
console.log(`Request exceeded ${error.timeoutMs}ms`);
|
|
37
40
|
} else {
|
|
38
41
|
throw error;
|
|
39
42
|
}
|
|
@@ -44,7 +47,7 @@ try {
|
|
|
44
47
|
|
|
45
48
|
| Import | Main exports |
|
|
46
49
|
| --- | --- |
|
|
47
|
-
| `@dofek/provider-http` | `createRateLimitAwareFetch`, `fetchWithRateLimitHandling`, `parseRetryAfterHeader`, `isServiceUnavailableStatus`, `ProviderRateLimitError`, `ProviderServiceUnavailableError`, and their option/store types |
|
|
50
|
+
| `@dofek/provider-http` | `createRateLimitAwareFetch`, `fetchWithRateLimitHandling`, `parseRetryAfterHeader`, `isServiceUnavailableStatus`, `PROVIDER_HTTP_REQUEST_TIMEOUT_MS`, `ProviderRateLimitError`, `ProviderRequestTimeoutError`, `ProviderServiceUnavailableError`, and their option/store types |
|
|
48
51
|
| `@dofek/provider-http/rate-limit` | Alias of the root rate-limit API |
|
|
49
52
|
| `@dofek/provider-http/adaptive-rate-limit` | Adaptive budget state, serialization, admission-delay calculations, Strava quota parsing, defaults, constants, and `AdaptiveRateLimitStore` |
|
|
50
53
|
|
|
@@ -55,13 +58,23 @@ coordination appropriate to their runtime.
|
|
|
55
58
|
|
|
56
59
|
- HTTP `429` throws `ProviderRateLimitError`.
|
|
57
60
|
- HTTP `502`, `503`, and `504` throw `ProviderServiceUnavailableError`.
|
|
58
|
-
-
|
|
59
|
-
|
|
61
|
+
- Every request made through `createRateLimitAwareFetch` has a shared two-minute
|
|
62
|
+
deadline. The wrapper composes its timeout signal with a caller-provided
|
|
63
|
+
signal and throws
|
|
64
|
+
`ProviderRequestTimeoutError` with code `ETIMEDOUT` only when that deadline
|
|
65
|
+
wins; caller cancellation remains the caller's error.
|
|
66
|
+
- HTTP errors expose the provider, status, response body, scope, optional user,
|
|
67
|
+
and parsed `retryAfterSeconds`. Timeout errors expose the provider, scope,
|
|
68
|
+
optional user, `timeoutMs`, and original cause.
|
|
60
69
|
- Other HTTP error responses are returned unchanged, so callers must check
|
|
61
70
|
`response.ok`.
|
|
62
71
|
- These helpers do not retry automatically. The caller decides whether and when
|
|
63
72
|
to retry; an adaptive store can delay admission before a request.
|
|
64
73
|
|
|
74
|
+
The deadline uses Node's
|
|
75
|
+
[`AbortSignal.timeout()` and `AbortSignal.any()`](https://nodejs.org/api/globals.html#class-abortsignal)
|
|
76
|
+
APIs.
|
|
77
|
+
|
|
65
78
|
No authentication or environment variables are required by this package.
|
|
66
79
|
|
|
67
80
|
## License and contributing
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adaptive-rate-limit.d.ts","sourceRoot":"","sources":["../src/adaptive-rate-limit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAEpE,2DAA2D;AAC3D,eAAO,MAAM,uBAAuB,QAAgB,CAAC;AAErD,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAC5C,eAAO,MAAM,wBAAwB,QAAS,CAAC;AAC/C,eAAO,MAAM,6BAA6B,MAAM,CAAC;AACjD,eAAO,MAAM,iCAAiC,IAAI,CAAC;AACnD,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAChD,eAAO,MAAM,gCAAgC,KAAK,CAAC;AAEnD;;;;GAIG;AACH,eAAO,MAAM,yCAAyC,IAAI,CAAC;AAE3D,eAAO,MAAM,4BAA4B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAIzE,CAAC;AAEF,mFAAmF;AACnF,eAAO,MAAM,yBAAyB,EAAE,WAAW,CAAC,MAAM,CAAgC,CAAC;AAE3F;;;GAGG;AACH,eAAO,MAAM,kCAAkC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAG/E,CAAC;AAEF,uFAAuF;AACvF,eAAO,MAAM,gCAAgC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAI7E,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,sBAAsB,CAAC;IAC9B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAEpE,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEvE;AAED,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAEnE;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,oBAAoB,GAAG,IAAI,CAoBzF;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CAI9F;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,yBAAyB,EAChC,KAAK,EAAE,MAAM,GACZ,yBAAyB,
|
|
1
|
+
{"version":3,"file":"adaptive-rate-limit.d.ts","sourceRoot":"","sources":["../src/adaptive-rate-limit.ts"],"names":[],"mappings":"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"}
|
|
@@ -72,10 +72,20 @@ export function blendObservedCooldown(previous, observedSeconds) {
|
|
|
72
72
|
return Math.round(previous * 0.7 + observedSeconds * 0.3);
|
|
73
73
|
}
|
|
74
74
|
export function slideAdaptiveWindow(state, nowMs) {
|
|
75
|
-
|
|
76
|
-
|
|
75
|
+
const lastRequestMs = state.lastRequestMs === null ? null : Math.min(state.lastRequestMs, nowMs);
|
|
76
|
+
if (nowMs < state.windowStartMs) {
|
|
77
|
+
return {
|
|
78
|
+
...state,
|
|
79
|
+
lastRequestMs,
|
|
80
|
+
windowStartMs: nowMs,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
if (nowMs - state.windowStartMs < ADAPTIVE_RATE_WINDOW_MS) {
|
|
84
|
+
return lastRequestMs === state.lastRequestMs ? state : { ...state, lastRequestMs };
|
|
85
|
+
}
|
|
77
86
|
return {
|
|
78
87
|
...state,
|
|
88
|
+
lastRequestMs,
|
|
79
89
|
windowStartMs: nowMs,
|
|
80
90
|
requestCount: 0,
|
|
81
91
|
};
|
|
@@ -98,22 +108,23 @@ export function learnInferredBudget(current, requestsAtLimit, providerId) {
|
|
|
98
108
|
return Math.min(current, candidate);
|
|
99
109
|
}
|
|
100
110
|
export function admissionDelayMs(state, nowMs) {
|
|
101
|
-
let delayMs = Math.max(throttleDelayMs(state, nowMs), budgetAdmissionDelayMs(state));
|
|
111
|
+
let delayMs = Math.max(throttleDelayMs(state, nowMs), budgetAdmissionDelayMs(state, nowMs));
|
|
102
112
|
if (state.providerId === "strava" &&
|
|
103
113
|
state.stravaShortLimit != null &&
|
|
104
114
|
state.stravaShortUsage != null) {
|
|
105
115
|
const remaining = state.stravaShortLimit - state.stravaShortUsage;
|
|
116
|
+
let quotaIntervalMs;
|
|
106
117
|
if (remaining <= 2) {
|
|
107
|
-
|
|
118
|
+
quotaIntervalMs = state.throttleMs * 4;
|
|
108
119
|
}
|
|
109
120
|
else if (remaining <= 5) {
|
|
110
|
-
|
|
121
|
+
quotaIntervalMs = state.throttleMs * 2;
|
|
111
122
|
}
|
|
112
123
|
else {
|
|
113
124
|
const windowMs = 15 * 60 * 1000;
|
|
114
|
-
|
|
115
|
-
delayMs = Math.max(delayMs, Math.min(pacedDelay, ADAPTIVE_THROTTLE_MAX_MS));
|
|
125
|
+
quotaIntervalMs = Math.min(Math.ceil(windowMs / remaining), ADAPTIVE_THROTTLE_MAX_MS);
|
|
116
126
|
}
|
|
127
|
+
delayMs = Math.max(delayMs, remainingIntervalDelayMs(state.lastRequestMs, quotaIntervalMs, nowMs));
|
|
117
128
|
}
|
|
118
129
|
return delayMs;
|
|
119
130
|
}
|
|
@@ -121,9 +132,14 @@ export function throttleDelayMs(state, nowMs) {
|
|
|
121
132
|
if (state.lastRequestMs == null)
|
|
122
133
|
return 0;
|
|
123
134
|
const elapsed = nowMs - state.lastRequestMs;
|
|
124
|
-
return
|
|
135
|
+
return Math.max(0, state.throttleMs - elapsed);
|
|
136
|
+
}
|
|
137
|
+
function remainingIntervalDelayMs(lastRequestMs, intervalMs, nowMs) {
|
|
138
|
+
if (lastRequestMs == null)
|
|
139
|
+
return 0;
|
|
140
|
+
return Math.max(0, intervalMs - Math.max(0, nowMs - lastRequestMs));
|
|
125
141
|
}
|
|
126
|
-
function budgetAdmissionDelayMs(state) {
|
|
142
|
+
function budgetAdmissionDelayMs(state, nowMs) {
|
|
127
143
|
if (state.inferredBudget == null)
|
|
128
144
|
return 0;
|
|
129
145
|
const softCap = Math.floor(state.inferredBudget * ADAPTIVE_BUDGET_SAFETY_RATIO);
|
|
@@ -134,7 +150,8 @@ function budgetAdmissionDelayMs(state) {
|
|
|
134
150
|
? Math.max(1, Math.floor(softCap / httpRequestsPerSyncJob(state.providerId)))
|
|
135
151
|
: softCap;
|
|
136
152
|
if (effectiveRequestCount >= effectiveSoftCap) {
|
|
137
|
-
|
|
153
|
+
const elapsedMs = Math.max(0, nowMs - state.windowStartMs);
|
|
154
|
+
return Math.max(0, ADAPTIVE_RATE_WINDOW_MS - elapsedMs);
|
|
138
155
|
}
|
|
139
156
|
return 0;
|
|
140
157
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adaptive-rate-limit.js","sourceRoot":"","sources":["../src/adaptive-rate-limit.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adaptive-rate-limit.js","sourceRoot":"","sources":["../src/adaptive-rate-limit.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,13 @@ export interface ProviderServiceUnavailableErrorOptions {
|
|
|
18
18
|
userId?: string | null;
|
|
19
19
|
retryAfterSeconds?: number | null;
|
|
20
20
|
}
|
|
21
|
+
export interface ProviderRequestTimeoutErrorOptions {
|
|
22
|
+
cause?: unknown;
|
|
23
|
+
providerId: string;
|
|
24
|
+
scope?: ProviderHttpErrorScope;
|
|
25
|
+
timeoutMs: number;
|
|
26
|
+
userId?: string | null;
|
|
27
|
+
}
|
|
21
28
|
export declare class ProviderRateLimitError extends Error {
|
|
22
29
|
readonly providerId: string;
|
|
23
30
|
readonly statusCode: number;
|
|
@@ -36,6 +43,14 @@ export declare class ProviderServiceUnavailableError extends Error {
|
|
|
36
43
|
readonly retryAfterSeconds: number | null;
|
|
37
44
|
constructor(options: ProviderServiceUnavailableErrorOptions);
|
|
38
45
|
}
|
|
46
|
+
export declare class ProviderRequestTimeoutError extends Error {
|
|
47
|
+
readonly code = "ETIMEDOUT";
|
|
48
|
+
readonly providerId: string;
|
|
49
|
+
readonly scope: ProviderHttpErrorScope;
|
|
50
|
+
readonly timeoutMs: number;
|
|
51
|
+
readonly userId: string | null;
|
|
52
|
+
constructor(options: ProviderRequestTimeoutErrorOptions);
|
|
53
|
+
}
|
|
39
54
|
export interface AdaptiveRateLimitStore {
|
|
40
55
|
awaitAdmission(providerId: string, scope: ProviderRateLimitScope, userId: string | null): Promise<void>;
|
|
41
56
|
recordSuccess(providerId: string, scope: ProviderRateLimitScope, userId: string | null, responseHeaders?: Headers): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rate-limit-types.d.ts","sourceRoot":"","sources":["../src/rate-limit-types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,sBAAsB,GAAG,UAAU,GAAG,MAAM,CAAC;AACzD,MAAM,MAAM,sBAAsB,GAAG,sBAAsB,CAAC;AAE5D,MAAM,WAAW,6BAA6B;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,sBAAsB,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,sCAAsC;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,sBAAsB,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,sBAAsB,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;gBAE9B,OAAO,EAAE,6BAA6B;CAUnD;AAED,qBAAa,+BAAgC,SAAQ,KAAK;IACxD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,sBAAsB,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;gBAE9B,OAAO,EAAE,sCAAsC;CAU5D;AAED,MAAM,WAAW,sBAAsB;IACrC,cAAc,CACZ,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,sBAAsB,EAC7B,MAAM,EAAE,MAAM,GAAG,IAAI,GACpB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,aAAa,CACX,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,sBAAsB,EAC7B,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,eAAe,CAAC,EAAE,OAAO,GACxB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,eAAe,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CACvE"}
|
|
1
|
+
{"version":3,"file":"rate-limit-types.d.ts","sourceRoot":"","sources":["../src/rate-limit-types.ts"],"names":[],"mappings":"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"}
|
package/dist/rate-limit-types.js
CHANGED
|
@@ -34,4 +34,21 @@ export class ProviderServiceUnavailableError extends Error {
|
|
|
34
34
|
this.retryAfterSeconds = options.retryAfterSeconds ?? null;
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
|
+
export class ProviderRequestTimeoutError extends Error {
|
|
38
|
+
code = "ETIMEDOUT";
|
|
39
|
+
providerId;
|
|
40
|
+
scope;
|
|
41
|
+
timeoutMs;
|
|
42
|
+
userId;
|
|
43
|
+
constructor(options) {
|
|
44
|
+
super(`${options.providerId} provider request timed out after ${options.timeoutMs}ms`, {
|
|
45
|
+
cause: options.cause,
|
|
46
|
+
});
|
|
47
|
+
this.name = "ProviderRequestTimeoutError";
|
|
48
|
+
this.providerId = options.providerId;
|
|
49
|
+
this.scope = options.scope ?? "provider";
|
|
50
|
+
this.timeoutMs = options.timeoutMs;
|
|
51
|
+
this.userId = options.userId ?? null;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
37
54
|
//# sourceMappingURL=rate-limit-types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rate-limit-types.js","sourceRoot":"","sources":["../src/rate-limit-types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rate-limit-types.js","sourceRoot":"","sources":["../src/rate-limit-types.ts"],"names":[],"mappings":"AA+BA,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IACtC,UAAU,CAAS;IACnB,UAAU,CAAS;IACnB,YAAY,CAAS;IACrB,KAAK,CAAyB;IAC9B,MAAM,CAAgB;IACtB,iBAAiB,CAAgB;IAE1C,YAAY,OAAsC;QAChD,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC;QACrC,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,IAAI,CAAC;IAC7D,CAAC;CACF;AAED,MAAM,OAAO,+BAAgC,SAAQ,KAAK;IAC/C,UAAU,CAAS;IACnB,UAAU,CAAS;IACnB,YAAY,CAAS;IACrB,KAAK,CAAyB;IAC9B,MAAM,CAAgB;IACtB,iBAAiB,CAAgB;IAE1C,YAAY,OAA+C;QACzD,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,iCAAiC,CAAC;QAC9C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC;QACrC,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,IAAI,CAAC;IAC7D,CAAC;CACF;AAED,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IAC3C,IAAI,GAAG,WAAW,CAAC;IACnB,UAAU,CAAS;IACnB,KAAK,CAAyB;IAC9B,SAAS,CAAS;IAClB,MAAM,CAAgB;IAE/B,YAAY,OAA2C;QACrD,KAAK,CAAC,GAAG,OAAO,CAAC,UAAU,qCAAqC,OAAO,CAAC,SAAS,IAAI,EAAE;YACrF,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC;QACzC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC;IACvC,CAAC;CACF"}
|
package/dist/rate-limit.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { AdaptiveRateLimitStore } from "./rate-limit-types.ts";
|
|
2
|
-
import { ProviderRateLimitError, type ProviderRateLimitScope, ProviderServiceUnavailableError } from "./rate-limit-types.ts";
|
|
3
|
-
export type { AdaptiveRateLimitStore, ProviderHttpErrorScope, ProviderRateLimitErrorOptions, ProviderRateLimitScope, ProviderServiceUnavailableErrorOptions, } from "./rate-limit-types.ts";
|
|
4
|
-
export { ProviderRateLimitError, ProviderServiceUnavailableError };
|
|
2
|
+
import { ProviderRateLimitError, type ProviderRateLimitScope, ProviderRequestTimeoutError, ProviderServiceUnavailableError } from "./rate-limit-types.ts";
|
|
3
|
+
export type { AdaptiveRateLimitStore, ProviderHttpErrorScope, ProviderRateLimitErrorOptions, ProviderRateLimitScope, ProviderRequestTimeoutErrorOptions, ProviderServiceUnavailableErrorOptions, } from "./rate-limit-types.ts";
|
|
4
|
+
export { ProviderRateLimitError, ProviderRequestTimeoutError, ProviderServiceUnavailableError };
|
|
5
5
|
export interface FetchRateLimitHandlingOptions {
|
|
6
6
|
createRateLimitError: (response: Response, responseBody: string) => Error;
|
|
7
7
|
createServiceUnavailableError?: (response: Response, responseBody: string) => Error;
|
|
@@ -14,6 +14,7 @@ export interface RateLimitAwareFetchOptions {
|
|
|
14
14
|
createServiceUnavailableError?: (response: Response, responseBody: string) => Error;
|
|
15
15
|
adaptiveStore?: AdaptiveRateLimitStore;
|
|
16
16
|
}
|
|
17
|
+
export declare const PROVIDER_HTTP_REQUEST_TIMEOUT_MS: number;
|
|
17
18
|
/**
|
|
18
19
|
* Parses an HTTP `Retry-After` header value, which may be either a number of
|
|
19
20
|
* seconds or an HTTP-date. Returns the delay in seconds, or null when absent or
|
|
@@ -21,6 +22,7 @@ export interface RateLimitAwareFetchOptions {
|
|
|
21
22
|
*/
|
|
22
23
|
export declare function parseRetryAfterHeader(header: string | null | undefined): number | null;
|
|
23
24
|
export declare function isServiceUnavailableStatus(statusCode: number): boolean;
|
|
25
|
+
export declare function isProviderConnectFailure(error: unknown): boolean;
|
|
24
26
|
export declare function fetchWithRateLimitHandling(fetchFn: typeof globalThis.fetch, input: RequestInfo | URL, init: RequestInit | undefined, options: FetchRateLimitHandlingOptions): Promise<Response>;
|
|
25
27
|
export declare function createRateLimitAwareFetch(fetchFn: typeof globalThis.fetch, options: RateLimitAwareFetchOptions): typeof globalThis.fetch;
|
|
26
28
|
//# sourceMappingURL=rate-limit.d.ts.map
|
package/dist/rate-limit.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rate-limit.d.ts","sourceRoot":"","sources":["../src/rate-limit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAEL,sBAAsB,EACtB,KAAK,sBAAsB,EAC3B,+BAA+B,EAChC,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EACV,sBAAsB,EACtB,sBAAsB,EACtB,6BAA6B,EAC7B,sBAAsB,EACtB,sCAAsC,GACvC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,+BAA+B,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"rate-limit.d.ts","sourceRoot":"","sources":["../src/rate-limit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAEL,sBAAsB,EACtB,KAAK,sBAAsB,EAC3B,2BAA2B,EAC3B,+BAA+B,EAChC,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EACV,sBAAsB,EACtB,sBAAsB,EACtB,6BAA6B,EAC7B,sBAAsB,EACtB,kCAAkC,EAClC,sCAAsC,GACvC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,+BAA+B,EAAE,CAAC;AAEhG,MAAM,WAAW,6BAA6B;IAC5C,oBAAoB,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,KAAK,KAAK,CAAC;IAC1E,6BAA6B,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,KAAK,KAAK,CAAC;CACrF;AAED,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,sBAAsB,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,KAAK,KAAK,CAAC;IAC3E,6BAA6B,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,KAAK,KAAK,CAAC;IACpF,aAAa,CAAC,EAAE,sBAAsB,CAAC;CACxC;AAGD,eAAO,MAAM,gCAAgC,QAAgB,CAAC;AAU9D;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAUtF;AAED,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAEtE;AAWD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAoBhE;AAED,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,OAAO,UAAU,CAAC,KAAK,EAChC,KAAK,EAAE,WAAW,GAAG,GAAG,EACxB,IAAI,EAAE,WAAW,GAAG,SAAS,EAC7B,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,QAAQ,CAAC,CAqBnB;AAsCD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,OAAO,UAAU,CAAC,KAAK,EAChC,OAAO,EAAE,0BAA0B,GAClC,OAAO,UAAU,CAAC,KAAK,CAkFzB"}
|
package/dist/rate-limit.js
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
|
-
import { ProviderRateLimitError, ProviderServiceUnavailableError, } from "./rate-limit-types.js";
|
|
2
|
-
export { ProviderRateLimitError, ProviderServiceUnavailableError };
|
|
1
|
+
import { ProviderRateLimitError, ProviderRequestTimeoutError, ProviderServiceUnavailableError, } from "./rate-limit-types.js";
|
|
2
|
+
export { ProviderRateLimitError, ProviderRequestTimeoutError, ProviderServiceUnavailableError };
|
|
3
3
|
const rateLimitAwareFetches = new WeakSet();
|
|
4
|
+
export const PROVIDER_HTTP_REQUEST_TIMEOUT_MS = 2 * 60 * 1000;
|
|
5
|
+
function callerAbortSignal(input, init) {
|
|
6
|
+
if (init?.signal)
|
|
7
|
+
return init.signal;
|
|
8
|
+
return input instanceof Request ? input.signal : undefined;
|
|
9
|
+
}
|
|
4
10
|
/**
|
|
5
11
|
* Parses an HTTP `Retry-After` header value, which may be either a number of
|
|
6
12
|
* seconds or an HTTP-date. Returns the delay in seconds, or null when absent or
|
|
@@ -20,6 +26,29 @@ export function parseRetryAfterHeader(header) {
|
|
|
20
26
|
export function isServiceUnavailableStatus(statusCode) {
|
|
21
27
|
return statusCode === 502 || statusCode === 503 || statusCode === 504;
|
|
22
28
|
}
|
|
29
|
+
const PROVIDER_CONNECT_FAILURE_CODES = new Set(["ETIMEDOUT", "ECONNRESET", "ENETUNREACH"]);
|
|
30
|
+
function errorCause(error) {
|
|
31
|
+
if (typeof error !== "object" || error === null || !("cause" in error)) {
|
|
32
|
+
return undefined;
|
|
33
|
+
}
|
|
34
|
+
return error.cause;
|
|
35
|
+
}
|
|
36
|
+
export function isProviderConnectFailure(error) {
|
|
37
|
+
const visited = new Set();
|
|
38
|
+
let current = error;
|
|
39
|
+
while (current instanceof Error && !visited.has(current)) {
|
|
40
|
+
visited.add(current);
|
|
41
|
+
if (current.name === "ConnectTimeoutError") {
|
|
42
|
+
return true;
|
|
43
|
+
}
|
|
44
|
+
const code = typeof current === "object" && current !== null && "code" in current ? current.code : null;
|
|
45
|
+
if (typeof code === "string" && PROVIDER_CONNECT_FAILURE_CODES.has(code)) {
|
|
46
|
+
return true;
|
|
47
|
+
}
|
|
48
|
+
current = errorCause(current);
|
|
49
|
+
}
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
23
52
|
export async function fetchWithRateLimitHandling(fetchFn, input, init, options) {
|
|
24
53
|
const response = init === undefined ? await fetchFn(input) : await fetchFn(input, init);
|
|
25
54
|
if (response.status === 429) {
|
|
@@ -65,8 +94,13 @@ export function createRateLimitAwareFetch(fetchFn, options) {
|
|
|
65
94
|
if (options.adaptiveStore) {
|
|
66
95
|
await options.adaptiveStore.awaitAdmission(options.providerId, scope, userId);
|
|
67
96
|
}
|
|
97
|
+
const timeoutSignal = AbortSignal.timeout(PROVIDER_HTTP_REQUEST_TIMEOUT_MS);
|
|
98
|
+
const upstreamSignal = callerAbortSignal(input, init);
|
|
99
|
+
const signal = upstreamSignal
|
|
100
|
+
? AbortSignal.any([upstreamSignal, timeoutSignal])
|
|
101
|
+
: timeoutSignal;
|
|
68
102
|
try {
|
|
69
|
-
const response = await fetchWithRateLimitHandling(fetchFn, input, init, {
|
|
103
|
+
const response = await fetchWithRateLimitHandling(fetchFn, input, { ...init, signal }, {
|
|
70
104
|
createRateLimitError: options.createRateLimitError ??
|
|
71
105
|
((response, responseBody) => createDefaultRateLimitError(options.providerId, scope, userId, response, responseBody)),
|
|
72
106
|
createServiceUnavailableError: options.createServiceUnavailableError ??
|
|
@@ -78,6 +112,24 @@ export function createRateLimitAwareFetch(fetchFn, options) {
|
|
|
78
112
|
return response;
|
|
79
113
|
}
|
|
80
114
|
catch (err) {
|
|
115
|
+
if (timeoutSignal.aborted && signal.reason === timeoutSignal.reason) {
|
|
116
|
+
throw new ProviderRequestTimeoutError({
|
|
117
|
+
cause: err,
|
|
118
|
+
providerId: options.providerId,
|
|
119
|
+
scope,
|
|
120
|
+
timeoutMs: PROVIDER_HTTP_REQUEST_TIMEOUT_MS,
|
|
121
|
+
userId,
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
if (isProviderConnectFailure(err)) {
|
|
125
|
+
throw new ProviderRequestTimeoutError({
|
|
126
|
+
cause: err,
|
|
127
|
+
providerId: options.providerId,
|
|
128
|
+
scope,
|
|
129
|
+
timeoutMs: PROVIDER_HTTP_REQUEST_TIMEOUT_MS,
|
|
130
|
+
userId,
|
|
131
|
+
});
|
|
132
|
+
}
|
|
81
133
|
if (options.adaptiveStore && err instanceof ProviderRateLimitError) {
|
|
82
134
|
await options.adaptiveStore.recordRateLimit(err);
|
|
83
135
|
}
|
package/dist/rate-limit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rate-limit.js","sourceRoot":"","sources":["../src/rate-limit.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,sBAAsB,EAEtB,+BAA+B,GAChC,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"rate-limit.js","sourceRoot":"","sources":["../src/rate-limit.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dofek/provider-http",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Rate-limit-aware Fetch utilities and typed provider HTTP errors",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -46,9 +46,7 @@
|
|
|
46
46
|
},
|
|
47
47
|
"scripts": {
|
|
48
48
|
"build": "tsc",
|
|
49
|
-
"prepack": "pnpm run build",
|
|
50
49
|
"test": "vitest run src",
|
|
51
50
|
"typecheck": "tsc --noEmit"
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
}
|
|
51
|
+
}
|
|
52
|
+
}
|