@lovrozagar/honey 0.3.4 → 0.4.0
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 +23 -5
- package/dist/body-limit.d.ts.map +1 -1
- package/dist/client/defaults.d.ts +12 -0
- package/dist/client/defaults.d.ts.map +1 -0
- package/dist/client/http.d.ts +2 -0
- package/dist/client/http.d.ts.map +1 -1
- package/dist/codegen.d.ts.map +1 -1
- package/dist/error.d.ts.map +1 -1
- package/dist/response.d.ts.map +1 -1
- package/docs/sdk.md +10 -0
- package/package.json +1 -1
- package/src/body-limit.ts +42 -6
- package/src/client/defaults.ts +47 -0
- package/src/client/http.ts +5 -2
- package/src/codegen.ts +26 -2
- package/src/error.ts +1 -0
- package/src/response.ts +0 -1
package/README.md
CHANGED
|
@@ -619,7 +619,7 @@ throw ctx.errors.unauthorized({
|
|
|
619
619
|
})
|
|
620
620
|
```
|
|
621
621
|
|
|
622
|
-
Standard error JSON:
|
|
622
|
+
Standard error JSON (matches OpenAPI / generated `_ErrEnvelope`):
|
|
623
623
|
|
|
624
624
|
```json
|
|
625
625
|
{
|
|
@@ -628,11 +628,14 @@ Standard error JSON:
|
|
|
628
628
|
"status_key": "conflict",
|
|
629
629
|
"message": "org_slug_taken",
|
|
630
630
|
"success": false,
|
|
631
|
-
"fields": {}
|
|
632
|
-
"vars": { "slug": "acme" }
|
|
631
|
+
"fields": {}
|
|
633
632
|
}
|
|
634
633
|
```
|
|
635
634
|
|
|
635
|
+
`vars` are **ICU input only** — used by `.errorI18n()` to interpolate the top-level `message`, and included in `HoneyError.serialize` for logs. They are **not** part of the public envelope. With i18n on, clients read the interpolated `message` (e.g. `"Slug acme is taken"`); they must not re-translate from `vars` + `error_key`.
|
|
636
|
+
|
|
637
|
+
For structured client extras (numbers a CLI can chart, typed payloads), use a **custom-schema** error (`defineErrors({ key: { status, schema } })`) and its `data` body — not `vars`.
|
|
638
|
+
|
|
636
639
|
Custom-schema errors serialize **the schema payload** as the body (not the envelope), unless you set `customErrorFormatter`.
|
|
637
640
|
|
|
638
641
|
Per-route:
|
|
@@ -685,9 +688,9 @@ app.errorI18n({
|
|
|
685
688
|
})
|
|
686
689
|
```
|
|
687
690
|
|
|
688
|
-
Messages are ICU: `{slug}`, `{n, number}`, `{n, plural, one {# item} other {# items}}`, `{k, select, a {A} other {X}}`. `cause` is reserved and is not a template var.
|
|
691
|
+
Messages are ICU: `{slug}`, `{n, number}`, `{n, plural, one {# item} other {# items}}`, `{k, select, a {A} other {X}}`. Pass matching values as `vars` on the throw. `cause` is reserved and is not a template var. Field `path` labels use `fieldNames`; field `message` strings are not interpolated with top-level `vars`.
|
|
689
692
|
|
|
690
|
-
`HoneyError` fields: `errorKey`, `status` (number), `statusKey`, `fields`, `vars
|
|
693
|
+
`HoneyError` fields: `errorKey`, `status` (number), `statusKey`, `fields`, `vars` (ICU / logs only), `data`, `headers`. `HoneyError.serialize(err)` is a JSON-safe dump for logs (includes `vars` when set; never put on the public JSON).
|
|
691
694
|
|
|
692
695
|
Framework-owned keys you do not declare: `validation_failed` (400), `output_validation_failed` (500), plus routing / content-negotiation keys.
|
|
693
696
|
|
|
@@ -1345,6 +1348,13 @@ const client = createClient<typeof app>({
|
|
|
1345
1348
|
onResponse: [async (ctx) => ctx.response],
|
|
1346
1349
|
})
|
|
1347
1350
|
|
|
1351
|
+
/* Browser, same-origin: a path is resolved against location.origin.
|
|
1352
|
+
Omit fetch — the default is the environment fetch, bound for window. */
|
|
1353
|
+
const sameOrigin = createClient<typeof app>({
|
|
1354
|
+
baseURL: "/api",
|
|
1355
|
+
credentials: "include",
|
|
1356
|
+
})
|
|
1357
|
+
|
|
1348
1358
|
const res = await client.get("/api/health")
|
|
1349
1359
|
const created = await client.post("/api/users", { json: { email: "a@b.com", name: "Ada" } })
|
|
1350
1360
|
|
|
@@ -1353,6 +1363,8 @@ client.$path("/api/users/:id", { params: { id: "1" } })
|
|
|
1353
1363
|
const ws = client.ws("/echo-ws", { reconnectToken: "t" })
|
|
1354
1364
|
```
|
|
1355
1365
|
|
|
1366
|
+
`baseURL` may be an absolute `http(s):` / `ws(s):` URL or a same-origin path (`"/api"`). Paths resolve against `location.origin`. Omit `fetch` to use the environment `fetch` (bound for browsers). In Node and Workers without an origin, pass an absolute URL.
|
|
1367
|
+
|
|
1356
1368
|
Per-call options: `json`, `form`, `search`, `params`, `headers`, `cookies`, `timeout`, `signal`, `lastEventId`.
|
|
1357
1369
|
|
|
1358
1370
|
`throwOnError: true` throws `ClientError` subclasses (`BadRequestError`, `UnauthorizedError`, …). `isClientError(e)` is the guard.
|
|
@@ -1379,6 +1391,12 @@ const sdk = new MySDK({
|
|
|
1379
1391
|
invalidation: { staleTime: 5 },
|
|
1380
1392
|
})
|
|
1381
1393
|
|
|
1394
|
+
const browserSdk = new MySDK({
|
|
1395
|
+
baseURL: "/api",
|
|
1396
|
+
credentials: "include",
|
|
1397
|
+
throwOnError: true,
|
|
1398
|
+
})
|
|
1399
|
+
|
|
1382
1400
|
const user = await sdk.createUser({ json: { email: "a@b.com", name: "Ada" } })
|
|
1383
1401
|
```
|
|
1384
1402
|
|
package/dist/body-limit.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"body-limit.d.ts","sourceRoot":"","sources":["../src/body-limit.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAGnD,KAAK,gBAAgB,GAAG;IACvB,gGAAgG;IAChG,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,wFAAwF;IACxF,OAAO,EAAE,MAAM,CAAA;IACf;;;;;;;;OAQG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC5B,CAAA;AAED,YAAY,EAAE,gBAAgB,EAAE,CAAA;AAEhC,wBAAgB,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,YAAY,CAAC;IAAE,GAAG,EAAE,OAAO,CAAA;CAAE,EAAE,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"body-limit.d.ts","sourceRoot":"","sources":["../src/body-limit.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAGnD,KAAK,gBAAgB,GAAG;IACvB,gGAAgG;IAChG,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,wFAAwF;IACxF,OAAO,EAAE,MAAM,CAAA;IACf;;;;;;;;OAQG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC5B,CAAA;AAED,YAAY,EAAE,gBAAgB,EAAE,CAAA;AAEhC,wBAAgB,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,YAAY,CAAC;IAAE,GAAG,EAAE,OAAO,CAAA;CAAE,EAAE,EAAE,CAAC,CAgHpF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare function invalidBaseURLError(baseURL: string): Error;
|
|
2
|
+
/**
|
|
3
|
+
* Honor `config.fetch` as-is. If omitted, bind the environment fetch so storing
|
|
4
|
+
* it on a client field does not throw `Illegal invocation` in browsers.
|
|
5
|
+
*/
|
|
6
|
+
export declare function bindDefaultFetch(custom?: typeof fetch): typeof fetch;
|
|
7
|
+
/**
|
|
8
|
+
* Parse `baseURL`. Absolute `http(s):` / `ws(s):` URLs are unchanged. Path-only
|
|
9
|
+
* values such as `/api` resolve against `location.origin` when present.
|
|
10
|
+
*/
|
|
11
|
+
export declare function parseClientBaseURL(baseURL: string): URL;
|
|
12
|
+
//# sourceMappingURL=defaults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/client/defaults.ts"],"names":[],"mappings":"AAGA,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAI1D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,GAAG,OAAO,KAAK,CAIpE;AAcD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAWvD"}
|
package/dist/client/http.d.ts
CHANGED
|
@@ -36,9 +36,11 @@ export type OnResponseContext = {
|
|
|
36
36
|
url: string;
|
|
37
37
|
};
|
|
38
38
|
export type ClientConfig = {
|
|
39
|
+
/** Absolute `http(s):` / `ws(s):` URL, or a same-origin path such as `"/api"`. */
|
|
39
40
|
baseURL: string;
|
|
40
41
|
buildSearchParams?: (query: Record<string, unknown>) => URLSearchParams;
|
|
41
42
|
credentials?: RequestCredentials;
|
|
43
|
+
/** Defaults to the environment `fetch`, bound so it is safe to call in browsers. */
|
|
42
44
|
fetch?: typeof fetch;
|
|
43
45
|
headers?: HeadersInit;
|
|
44
46
|
mode?: RequestMode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/client/http.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/client/http.ts"],"names":[],"mappings":"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"}
|
package/dist/codegen.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../src/codegen.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../src/codegen.ts"],"names":[],"mappings":"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"}
|
package/dist/error.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAGvD,qBAAa,UAAW,SAAQ,KAAK;IACpC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAA;IAC7C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;IAE/C,YAAY,IAAI,EAAE;QACjB,KAAK,CAAC,EAAE,OAAO,CAAA;QACf,IAAI,CAAC,EAAE,OAAO,CAAA;QACd,QAAQ,EAAE,MAAM,CAAA;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAA;QACrC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAChC,MAAM,EAAE,SAAS,CAAA;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;KACtC,EASA;IAED,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAGvD,qBAAa,UAAW,SAAQ,KAAK;IACpC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAA;IAC7C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;IAE/C,YAAY,IAAI,EAAE;QACjB,KAAK,CAAC,EAAE,OAAO,CAAA;QACf,IAAI,CAAC,EAAE,OAAO,CAAA;QACd,QAAQ,EAAE,MAAM,CAAA;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAA;QACrC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAChC,MAAM,EAAE,SAAS,CAAA;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;KACtC,EASA;IAED,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAoBpD;CACD"}
|
package/dist/response.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../src/response.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../src/response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAG3C,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAE7C,MAAM,MAAM,eAAe,GAAG;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,MAAM,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IACtB,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,eAAe,GAAG;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACvB,KAAK,IAAI,IAAI,CAAA;IACb,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,IAAI,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACpC,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AA+BlH,OAAO,CAAC,MAAM,YAAY,EAAE,OAAO,MAAM,CAAA;AACzC,OAAO,CAAC,MAAM,UAAU,EAAE,OAAO,MAAM,CAAA;AAEvC,qGAAqG;AACrG,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,MAAM,GAAG,MAAM,EAAE,EAAE,SAAS,MAAM,GAAG,MAAM,IAAI,QAAQ,GAAG;IAC9F,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,CAAA;IAC3B,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,CAAA;CACzB,CAAA;AAsBD,qBAAa,QAAQ;IACpB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAEpC,YAAY,OAAO,UAAQ,EAE1B;IAED,OAAO,CAAC,MAAM;IAsBd,MAAM,CAAC,EAAE,SAAS,SAAS,EAC1B,SAAS,EAAE,EAAE,EACb,IAAI,EAAE,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,EAC3C,IAAI,CAAC,EAAE,eAAe,GACpB,aAAa,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAG/C;IAED,GAAG,CAAC,EAAE,SAAS,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,aAAa,CAAC,UAAU,EAAE,EAAE,CAAC,CAE5G;IAED,IAAI,CAAC,EAAE,SAAS,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,aAAa,CAAC,WAAW,EAAE,EAAE,CAAC,CAE9G;IAED,IAAI,CAAC,EAAE,SAAS,SAAS,EACxB,SAAS,EAAE,EAAE,EACb,IAAI,EAAE,OAAO,EACb,IAAI,CAAC,EAAE,eAAe,GACpB,aAAa,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAEvC;IAED,SAAS,CAAC,IAAI,CAAC,EAAE,eAAe,GAAG,aAAa,CAAC,MAAM,EAAE,YAAY,CAAC,CASrE;IAED,GAAG,CAAC,QAAQ,EAAE,QAAQ,GAAG,aAAa,CAErC;IAED,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAS5E;IAED,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,aAAa,CAAC,mBAAmB,EAAE,IAAI,CAAC,CA4E/G;IAED,QAAQ,CACP,SAAS,EAAE,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,EACnF,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC9C,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAqB7B;IAED,MAAM,CACL,QAAQ,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,EACrD,IAAI,CAAC,EAAE,eAAe,GACpB,aAAa,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAiBjD;IAED,IAAI,CAAC,EAAE,SAAS,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,aAAa,CAAC,YAAY,EAAE,EAAE,CAAC,CAE/G;IAED,GAAG,CAAC,EAAE,SAAS,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,aAAa,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAEnH;CACD;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAEhH,wBAAgB,mBAAmB,CAClC,KAAK,EAAE,UAAU,EACjB,gBAAgB,EAAE,cAAc,EAChC,eAAe,CAAC,EAAE,oBAAoB,GAAG,IAAI,GAC3C,QAAQ,CA+CV"}
|
package/docs/sdk.md
CHANGED
|
@@ -61,6 +61,16 @@ const sdk = new MockSDK({
|
|
|
61
61
|
})
|
|
62
62
|
```
|
|
63
63
|
|
|
64
|
+
In a browser, `baseURL` may be a same-origin path. It resolves against `location.origin`. Omit `fetch` — the default is the environment `fetch`, bound so it is safe to call on `window`. In Node and Workers without an origin, pass an absolute `http(s):` or `ws(s):` URL.
|
|
65
|
+
|
|
66
|
+
```ts
|
|
67
|
+
const browserSdk = new MockSDK({
|
|
68
|
+
baseURL: "/api",
|
|
69
|
+
credentials: "include",
|
|
70
|
+
throwOnError: true,
|
|
71
|
+
})
|
|
72
|
+
```
|
|
73
|
+
|
|
64
74
|
```py
|
|
65
75
|
sdk = AsyncSDK(ClientConfig(
|
|
66
76
|
base_url=BASE_URL,
|
package/package.json
CHANGED
package/src/body-limit.ts
CHANGED
|
@@ -60,27 +60,63 @@ export function bodyLimit(opts: BodyLimitOptions): MiddlewareFn<{ req: Request }
|
|
|
60
60
|
if (trustContentLength === true) return next()
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
/* slow path: stream-count when no Content-Length (chunked) or trustContentLength disabled
|
|
63
|
+
/* slow path: stream-count when no Content-Length (chunked) or trustContentLength disabled.
|
|
64
|
+
* On overflow, error the downstream consumer then drain (do not cancel) the upstream —
|
|
65
|
+
* cancelling an undici FormData body mid-encode enqueues into a closed stream on Node 24. */
|
|
64
66
|
if (req.body !== null) {
|
|
65
67
|
let totalBytes = 0
|
|
68
|
+
let overflowed = false
|
|
66
69
|
const limit = resolvedMax
|
|
67
|
-
const
|
|
68
|
-
|
|
69
|
-
|
|
70
|
+
const reader = req.body.getReader()
|
|
71
|
+
|
|
72
|
+
const drainUpstream = (): void => {
|
|
73
|
+
void (async () => {
|
|
74
|
+
try {
|
|
75
|
+
while (true) {
|
|
76
|
+
const r = await reader.read()
|
|
77
|
+
if (r.done) break
|
|
78
|
+
}
|
|
79
|
+
} catch {
|
|
80
|
+
/* producer may already be done */
|
|
81
|
+
}
|
|
82
|
+
})()
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
const limited = new ReadableStream<Uint8Array>({
|
|
86
|
+
async cancel(reason) {
|
|
87
|
+
/* consumer aborted — still drain so undici FormData encoders can finish */
|
|
88
|
+
drainUpstream()
|
|
89
|
+
void reason
|
|
90
|
+
},
|
|
91
|
+
async pull(controller) {
|
|
92
|
+
if (overflowed) return
|
|
93
|
+
let result: ReadableStreamReadResult<Uint8Array>
|
|
94
|
+
try {
|
|
95
|
+
result = await reader.read()
|
|
96
|
+
} catch (err) {
|
|
97
|
+
controller.error(err)
|
|
98
|
+
return
|
|
99
|
+
}
|
|
100
|
+
if (result.done) {
|
|
101
|
+
controller.close()
|
|
102
|
+
return
|
|
103
|
+
}
|
|
104
|
+
totalBytes += result.value.byteLength
|
|
70
105
|
if (totalBytes > limit) {
|
|
106
|
+
overflowed = true
|
|
71
107
|
controller.error(
|
|
72
108
|
new HoneyError({
|
|
73
109
|
errorKey: EK.content_too_large,
|
|
74
110
|
status: SK.content_too_large,
|
|
75
111
|
}),
|
|
76
112
|
)
|
|
113
|
+
drainUpstream()
|
|
77
114
|
return
|
|
78
115
|
}
|
|
79
|
-
controller.enqueue(
|
|
116
|
+
controller.enqueue(result.value)
|
|
80
117
|
},
|
|
81
118
|
})
|
|
82
119
|
|
|
83
|
-
const limited = req.body.pipeThrough(transform)
|
|
84
120
|
const replaceBody = (req as unknown as Record<symbol, unknown>)[Symbol.for("honey.replaceBody")]
|
|
85
121
|
if (typeof replaceBody === "function") {
|
|
86
122
|
;(replaceBody as (stream: ReadableStream<Uint8Array>) => void).call(req, limited)
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/** Absolute client bases: http(s) and ws(s). Case-insensitive per WHATWG. */
|
|
2
|
+
const ABSOLUTE_CLIENT_URL = /^(?:https?|wss?):\/\//i
|
|
3
|
+
|
|
4
|
+
export function invalidBaseURLError(baseURL: string): Error {
|
|
5
|
+
return new Error(
|
|
6
|
+
`Invalid baseURL ${JSON.stringify(baseURL)}: expected an absolute http(s): or ws(s): URL. Path-only values such as "/api" resolve against location.origin in browsers.`,
|
|
7
|
+
)
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Honor `config.fetch` as-is. If omitted, bind the environment fetch so storing
|
|
12
|
+
* it on a client field does not throw `Illegal invocation` in browsers.
|
|
13
|
+
*/
|
|
14
|
+
export function bindDefaultFetch(custom?: typeof fetch): typeof fetch {
|
|
15
|
+
if (custom) return custom
|
|
16
|
+
const nativeFetch = globalThis.fetch
|
|
17
|
+
return typeof nativeFetch === "function" ? nativeFetch.bind(globalThis) : (nativeFetch as typeof fetch)
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
function currentLocationOrigin(): string | undefined {
|
|
21
|
+
let origin: unknown
|
|
22
|
+
try {
|
|
23
|
+
origin = globalThis.location?.origin
|
|
24
|
+
} catch {
|
|
25
|
+
return undefined
|
|
26
|
+
}
|
|
27
|
+
if (typeof origin !== "string" || origin === "" || origin === "null") return undefined
|
|
28
|
+
if (!ABSOLUTE_CLIENT_URL.test(origin)) return undefined
|
|
29
|
+
return origin
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Parse `baseURL`. Absolute `http(s):` / `ws(s):` URLs are unchanged. Path-only
|
|
34
|
+
* values such as `/api` resolve against `location.origin` when present.
|
|
35
|
+
*/
|
|
36
|
+
export function parseClientBaseURL(baseURL: string): URL {
|
|
37
|
+
if (ABSOLUTE_CLIENT_URL.test(baseURL)) return new URL(baseURL)
|
|
38
|
+
const origin = currentLocationOrigin()
|
|
39
|
+
if (origin !== undefined) {
|
|
40
|
+
try {
|
|
41
|
+
return new URL(baseURL, origin)
|
|
42
|
+
} catch {
|
|
43
|
+
throw invalidBaseURLError(baseURL)
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
throw invalidBaseURLError(baseURL)
|
|
47
|
+
}
|
package/src/client/http.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bindDefaultFetch, parseClientBaseURL } from "./defaults.ts"
|
|
1
2
|
import { ClientError } from "./error.ts"
|
|
2
3
|
import type { SSEEvent } from "./sse.ts"
|
|
3
4
|
import { parseSSEStream } from "./sse.ts"
|
|
@@ -45,9 +46,11 @@ export type OnResponseContext = {
|
|
|
45
46
|
}
|
|
46
47
|
|
|
47
48
|
export type ClientConfig = {
|
|
49
|
+
/** Absolute `http(s):` / `ws(s):` URL, or a same-origin path such as `"/api"`. */
|
|
48
50
|
baseURL: string
|
|
49
51
|
buildSearchParams?: (query: Record<string, unknown>) => URLSearchParams
|
|
50
52
|
credentials?: RequestCredentials
|
|
53
|
+
/** Defaults to the environment `fetch`, bound so it is safe to call in browsers. */
|
|
51
54
|
fetch?: typeof fetch
|
|
52
55
|
headers?: HeadersInit
|
|
53
56
|
mode?: RequestMode
|
|
@@ -120,7 +123,7 @@ function buildURL(config: ClientConfig, path: string, opts: RequestOptions): str
|
|
|
120
123
|
let resolvedPath = path
|
|
121
124
|
if (opts.params) resolvedPath = interpolatePath(path, opts.params)
|
|
122
125
|
|
|
123
|
-
const baseUrl =
|
|
126
|
+
const baseUrl = parseClientBaseURL(config.baseURL)
|
|
124
127
|
const basePath = baseUrl.pathname.endsWith("/") ? baseUrl.pathname : `${baseUrl.pathname}/`
|
|
125
128
|
const relative = resolvedPath.startsWith("/") ? resolvedPath.slice(1) : resolvedPath
|
|
126
129
|
const url = new URL(`${basePath}${relative}`, baseUrl)
|
|
@@ -222,7 +225,7 @@ export class HTTPClient {
|
|
|
222
225
|
|
|
223
226
|
constructor(config: ClientConfig) {
|
|
224
227
|
this._config = config
|
|
225
|
-
this._fetch = config.fetch
|
|
228
|
+
this._fetch = bindDefaultFetch(config.fetch)
|
|
226
229
|
}
|
|
227
230
|
|
|
228
231
|
private async _doRequest(
|
package/src/codegen.ts
CHANGED
|
@@ -3389,6 +3389,7 @@ function buildSDKClient(sdkName: string, stem: string): string {
|
|
|
3389
3389
|
sdkClientLookupStale(),
|
|
3390
3390
|
sdkClientCreateTypedWebSocket(),
|
|
3391
3391
|
sdkClientSerializeSearch(),
|
|
3392
|
+
sdkClientResolveBaseURL(),
|
|
3392
3393
|
sdkClientBuildURL(),
|
|
3393
3394
|
sdkClientBuildHeaders(),
|
|
3394
3395
|
sdkClientDoRequest(),
|
|
@@ -4112,7 +4113,7 @@ function sdkClientConstructor(n: string): string {
|
|
|
4112
4113
|
\t\tconst ownState = config.state ?? {}
|
|
4113
4114
|
\t\tthis.state = ownState
|
|
4114
4115
|
\t\tthis.#config = { ...config, state: ownState }
|
|
4115
|
-
\t\tthis.#fetchFn = config.fetch ?? globalThis.fetch
|
|
4116
|
+
\t\tthis.#fetchFn = config.fetch ?? (typeof globalThis.fetch === "function" ? globalThis.fetch.bind(globalThis) : globalThis.fetch)
|
|
4116
4117
|
\t\tthis.#searchSerializer = config.buildSearchParams ?? ((q: Record<string, unknown>) => this.#serializeSearch(q))
|
|
4117
4118
|
\t\tthis.#staleTime = config.invalidation?.staleTime ?? 0
|
|
4118
4119
|
\t\tthis.#staleUntil = this.#staleTime > 0
|
|
@@ -4419,12 +4420,35 @@ function sdkClientSerializeSearch(): string {
|
|
|
4419
4420
|
`
|
|
4420
4421
|
}
|
|
4421
4422
|
|
|
4423
|
+
/* Keep in sync with client/defaults.ts — generated SDKs have zero runtime imports. */
|
|
4424
|
+
function sdkClientResolveBaseURL(): string {
|
|
4425
|
+
return `
|
|
4426
|
+
#resolveBaseURL(baseURL: string): URL {
|
|
4427
|
+
if (/^(?:https?|wss?):\\/\\//i.test(baseURL)) return new URL(baseURL)
|
|
4428
|
+
let origin: unknown
|
|
4429
|
+
try {
|
|
4430
|
+
origin = globalThis.location?.origin
|
|
4431
|
+
} catch {
|
|
4432
|
+
origin = undefined
|
|
4433
|
+
}
|
|
4434
|
+
if (typeof origin === "string" && origin !== "" && origin !== "null" && /^(?:https?|wss?):\\/\\//i.test(origin)) {
|
|
4435
|
+
try {
|
|
4436
|
+
return new URL(baseURL, origin)
|
|
4437
|
+
} catch {
|
|
4438
|
+
throw new Error(\`Invalid baseURL \${JSON.stringify(baseURL)}: expected an absolute http(s): or ws(s): URL. Path-only values such as "/api" resolve against location.origin in browsers.\`)
|
|
4439
|
+
}
|
|
4440
|
+
}
|
|
4441
|
+
throw new Error(\`Invalid baseURL \${JSON.stringify(baseURL)}: expected an absolute http(s): or ws(s): URL. Path-only values such as "/api" resolve against location.origin in browsers.\`)
|
|
4442
|
+
}
|
|
4443
|
+
`
|
|
4444
|
+
}
|
|
4445
|
+
|
|
4422
4446
|
function sdkClientBuildURL(): string {
|
|
4423
4447
|
return `
|
|
4424
4448
|
\t#buildURL(path: string, opts: _RequestOptions): string {
|
|
4425
4449
|
\t\tlet resolvedPath = path
|
|
4426
4450
|
\t\tif (opts.params) resolvedPath = this.#interpolatePath(path, opts.params)
|
|
4427
|
-
\t\tconst baseUrl =
|
|
4451
|
+
\t\tconst baseUrl = this.#resolveBaseURL(this.#config.baseURL)
|
|
4428
4452
|
\t\tconst basePath = baseUrl.pathname.endsWith("/") ? baseUrl.pathname : \`\${baseUrl.pathname}/\`
|
|
4429
4453
|
\t\tconst relative = resolvedPath.startsWith("/") ? resolvedPath.slice(1) : resolvedPath
|
|
4430
4454
|
\t\tconst url = new URL(\`\${basePath}\${relative}\`, baseUrl)
|
package/src/error.ts
CHANGED
|
@@ -43,6 +43,7 @@ export class HoneyError extends Error {
|
|
|
43
43
|
obj["status"] = e.status
|
|
44
44
|
obj["statusKey"] = e.statusKey
|
|
45
45
|
if (Object.keys(e.fields).length > 0) obj["fields"] = e.fields
|
|
46
|
+
if (e.vars) obj["vars"] = e.vars
|
|
46
47
|
}
|
|
47
48
|
|
|
48
49
|
if (e.cause) obj["cause"] = HoneyError.serialize(e.cause)
|
package/src/response.ts
CHANGED