@distilled.cloud/cloudflare 0.12.5 → 0.12.7
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/lib/client/api.d.ts.map +1 -1
- package/lib/client/api.js +23 -1
- package/lib/client/api.js.map +1 -1
- package/package.json +2 -2
- package/src/client/api.ts +25 -0
package/lib/client/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/client/api.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,wBAAwB,EAC9B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAIL,KAAK,kBAAkB,EACxB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/client/api.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,wBAAwB,EAC9B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAIL,KAAK,kBAAkB,EACxB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAmE1E,YAAY,EAAE,eAAe,EAAE,wBAAwB,EAAE,CAAC;AAiQ1D,eAAO,MAAM,+BAA+B,6BAGzC;IACD,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,YAAY,CAAC;CACrB,KAAG,YAiBH,CAAC;AAEF,QAAA,MAAM,IAAI;;;CAQR,CAAC;AA4DH,eAAO,MAAM,IAAI,sRAAY,CAAC;AAC9B,eAAO,MAAM,aAAa,EAOlB,OAAO,IAAI,CAAC,aAAa,CAAC"}
|
package/lib/client/api.js
CHANGED
|
@@ -11,7 +11,7 @@ import * as Stream from "effect/Stream";
|
|
|
11
11
|
import { makeAPI, } from "@distilled.cloud/core/client";
|
|
12
12
|
import { paginateCursor, paginateSingle, paginateWithDefaults, } from "@distilled.cloud/core/pagination";
|
|
13
13
|
import { getPath } from "@distilled.cloud/core/traits";
|
|
14
|
-
import { CloudflareHttpError, HTTP_STATUS_MAP, InternalServerError, TooManyRequests, UnknownCloudflareError, } from "../errors.js";
|
|
14
|
+
import { CloudflareHttpError, Forbidden, HTTP_STATUS_MAP, InternalServerError, TooManyRequests, Unauthorized, UnknownCloudflareError, } from "../errors.js";
|
|
15
15
|
import { Credentials, formatHeaders } from "../credentials.js";
|
|
16
16
|
import { getErrorMatchers } from "../traits.js";
|
|
17
17
|
// ============================================================================
|
|
@@ -24,6 +24,20 @@ import { getErrorMatchers } from "../traits.js";
|
|
|
24
24
|
const GLOBAL_ERROR_CODE_MAP = {
|
|
25
25
|
// "Please wait and consider throttling your request speed"
|
|
26
26
|
971: (message) => new TooManyRequests({ message }),
|
|
27
|
+
// Authentication-related error codes — surfaced regardless of HTTP status
|
|
28
|
+
// (Cloudflare frequently returns these inside a 400 envelope rather than 401).
|
|
29
|
+
// 6003: Invalid request headers (e.g. missing/invalid auth headers)
|
|
30
|
+
6003: (message) => new Unauthorized({ message }),
|
|
31
|
+
// 9103: Unknown X-Auth-Key
|
|
32
|
+
9103: (message) => new Unauthorized({ message }),
|
|
33
|
+
// 9106: X-Auth-Key header missing
|
|
34
|
+
9106: (message) => new Unauthorized({ message }),
|
|
35
|
+
// 9109: Unauthorized to access requested resource / Max auth failures reached
|
|
36
|
+
9109: (message) => new Unauthorized({ message }),
|
|
37
|
+
// 10000: Authentication error / Authentication failed
|
|
38
|
+
10000: (message) => new Unauthorized({ message }),
|
|
39
|
+
// 10001: Method not allowed for token (authorization, not authentication)
|
|
40
|
+
10001: (message) => new Forbidden({ message }),
|
|
27
41
|
};
|
|
28
42
|
/**
|
|
29
43
|
* Create an appropriate error for an HTTP status code.
|
|
@@ -210,6 +224,14 @@ const matchError = (status, errorBody, errors) => {
|
|
|
210
224
|
if (errorCode !== undefined && errorCode in GLOBAL_ERROR_CODE_MAP) {
|
|
211
225
|
return Effect.fail(GLOBAL_ERROR_CODE_MAP[errorCode](errorMessage));
|
|
212
226
|
}
|
|
227
|
+
// Heuristic fallback:
|
|
228
|
+
// Map by HTTP status as a last resort (e.g. envelope with status 401/403).
|
|
229
|
+
if (status === 401) {
|
|
230
|
+
return Effect.fail(new Unauthorized({ message: errorMessage }));
|
|
231
|
+
}
|
|
232
|
+
if (status === 403) {
|
|
233
|
+
return Effect.fail(new Forbidden({ message: errorMessage }));
|
|
234
|
+
}
|
|
213
235
|
// No match — return unknown Cloudflare error
|
|
214
236
|
return Effect.fail(new UnknownCloudflareError({
|
|
215
237
|
code: errorCode,
|
package/lib/client/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/client/api.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EACL,OAAO,GAIR,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,cAAc,EACd,cAAc,EACd,oBAAoB,GAErB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAqB,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,sBAAsB,GACvB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAqB,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEnE,+EAA+E;AAC/E,gCAAgC;AAChC,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,qBAAqB,GAAiD;IAC1E,2DAA2D;IAC3D,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/client/api.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@distilled.cloud/cloudflare",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.7",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/alchemy-run/distilled",
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
"specs:update": "git -C specs/cloudflare-typescript fetch && git -C specs/cloudflare-typescript checkout main && git -C specs/cloudflare-typescript pull"
|
|
64
64
|
},
|
|
65
65
|
"dependencies": {
|
|
66
|
-
"@distilled.cloud/core": "0.12.
|
|
66
|
+
"@distilled.cloud/core": "0.12.7",
|
|
67
67
|
"effect": "4.0.0-beta.48"
|
|
68
68
|
},
|
|
69
69
|
"devDependencies": {
|
package/src/client/api.ts
CHANGED
|
@@ -24,9 +24,11 @@ import {
|
|
|
24
24
|
import { getPath, type RequestParts } from "@distilled.cloud/core/traits";
|
|
25
25
|
import {
|
|
26
26
|
CloudflareHttpError,
|
|
27
|
+
Forbidden,
|
|
27
28
|
HTTP_STATUS_MAP,
|
|
28
29
|
InternalServerError,
|
|
29
30
|
TooManyRequests,
|
|
31
|
+
Unauthorized,
|
|
30
32
|
UnknownCloudflareError,
|
|
31
33
|
} from "../errors.ts";
|
|
32
34
|
import { Credentials, formatHeaders } from "../credentials.ts";
|
|
@@ -43,6 +45,20 @@ import { type ErrorMatcher, getErrorMatchers } from "../traits.ts";
|
|
|
43
45
|
const GLOBAL_ERROR_CODE_MAP: Record<number, (message: string) => unknown> = {
|
|
44
46
|
// "Please wait and consider throttling your request speed"
|
|
45
47
|
971: (message) => new TooManyRequests({ message }),
|
|
48
|
+
// Authentication-related error codes — surfaced regardless of HTTP status
|
|
49
|
+
// (Cloudflare frequently returns these inside a 400 envelope rather than 401).
|
|
50
|
+
// 6003: Invalid request headers (e.g. missing/invalid auth headers)
|
|
51
|
+
6003: (message) => new Unauthorized({ message }),
|
|
52
|
+
// 9103: Unknown X-Auth-Key
|
|
53
|
+
9103: (message) => new Unauthorized({ message }),
|
|
54
|
+
// 9106: X-Auth-Key header missing
|
|
55
|
+
9106: (message) => new Unauthorized({ message }),
|
|
56
|
+
// 9109: Unauthorized to access requested resource / Max auth failures reached
|
|
57
|
+
9109: (message) => new Unauthorized({ message }),
|
|
58
|
+
// 10000: Authentication error / Authentication failed
|
|
59
|
+
10000: (message) => new Unauthorized({ message }),
|
|
60
|
+
// 10001: Method not allowed for token (authorization, not authentication)
|
|
61
|
+
10001: (message) => new Forbidden({ message }),
|
|
46
62
|
};
|
|
47
63
|
|
|
48
64
|
/**
|
|
@@ -292,6 +308,15 @@ const matchError = (
|
|
|
292
308
|
return Effect.fail(GLOBAL_ERROR_CODE_MAP[errorCode](errorMessage));
|
|
293
309
|
}
|
|
294
310
|
|
|
311
|
+
// Heuristic fallback:
|
|
312
|
+
// Map by HTTP status as a last resort (e.g. envelope with status 401/403).
|
|
313
|
+
if (status === 401) {
|
|
314
|
+
return Effect.fail(new Unauthorized({ message: errorMessage }));
|
|
315
|
+
}
|
|
316
|
+
if (status === 403) {
|
|
317
|
+
return Effect.fail(new Forbidden({ message: errorMessage }));
|
|
318
|
+
}
|
|
319
|
+
|
|
295
320
|
// No match — return unknown Cloudflare error
|
|
296
321
|
return Effect.fail(
|
|
297
322
|
new UnknownCloudflareError({
|