@interop/was-client 0.100.1 → 0.102.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 +44 -11
- package/dist/Collection.d.ts +21 -5
- package/dist/Collection.d.ts.map +1 -1
- package/dist/Collection.js +38 -31
- package/dist/Collection.js.map +1 -1
- package/dist/Space.d.ts +94 -22
- package/dist/Space.d.ts.map +1 -1
- package/dist/Space.js +162 -79
- package/dist/Space.js.map +1 -1
- package/dist/WasClient.d.ts +5 -5
- package/dist/WasClient.d.ts.map +1 -1
- package/dist/WasClient.js +7 -8
- package/dist/WasClient.js.map +1 -1
- package/dist/edv/EdvCodec.d.ts.map +1 -1
- package/dist/edv/EdvCodec.js +7 -4
- package/dist/edv/EdvCodec.js.map +1 -1
- package/dist/edv/docCipher.js +2 -2
- package/dist/edv/docCipher.js.map +1 -1
- package/dist/edv/logGovernedDescriptorStore.d.ts +6 -1
- package/dist/edv/logGovernedDescriptorStore.d.ts.map +1 -1
- package/dist/edv/logGovernedDescriptorStore.js +68 -43
- package/dist/edv/logGovernedDescriptorStore.js.map +1 -1
- package/dist/internal/codec.d.ts +11 -1
- package/dist/internal/codec.d.ts.map +1 -1
- package/dist/internal/codec.js +11 -1
- package/dist/internal/codec.js.map +1 -1
- package/dist/internal/describe.d.ts +6 -0
- package/dist/internal/describe.d.ts.map +1 -1
- package/dist/internal/describe.js +18 -1
- package/dist/internal/describe.js.map +1 -1
- package/dist/internal/grant.js +1 -1
- package/dist/internal/grant.js.map +1 -1
- package/dist/internal/indexSchema.d.ts +19 -4
- package/dist/internal/indexSchema.d.ts.map +1 -1
- package/dist/internal/indexSchema.js +33 -6
- package/dist/internal/indexSchema.js.map +1 -1
- package/dist/internal/pagination.d.ts.map +1 -1
- package/dist/internal/pagination.js +2 -2
- package/dist/internal/pagination.js.map +1 -1
- package/dist/internal/paths.d.ts +21 -8
- package/dist/internal/paths.d.ts.map +1 -1
- package/dist/internal/paths.js +36 -13
- package/dist/internal/paths.js.map +1 -1
- package/dist/internal/request.d.ts +47 -14
- package/dist/internal/request.d.ts.map +1 -1
- package/dist/internal/request.js +64 -44
- package/dist/internal/request.js.map +1 -1
- package/dist/internal/revoke.d.ts +1 -65
- package/dist/internal/revoke.d.ts.map +1 -1
- package/dist/internal/revoke.js +5 -136
- package/dist/internal/revoke.js.map +1 -1
- package/dist/internal/rootCapability.d.ts +66 -0
- package/dist/internal/rootCapability.d.ts.map +1 -0
- package/dist/internal/rootCapability.js +144 -0
- package/dist/internal/rootCapability.js.map +1 -0
- package/dist/internal/withCodec.d.ts +19 -4
- package/dist/internal/withCodec.d.ts.map +1 -1
- package/dist/internal/withCodec.js +18 -2
- package/dist/internal/withCodec.js.map +1 -1
- package/dist/internal/write.js +13 -9
- package/dist/internal/write.js.map +1 -1
- package/dist/paths.d.ts +5 -3
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +5 -3
- package/dist/paths.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { send } from './request.js';
|
|
2
2
|
import { dataOrNull } from './content.js';
|
|
3
3
|
import { WasServerError } from '../errors.js';
|
|
4
|
+
import { hasUserinfo } from './paths.js';
|
|
4
5
|
/**
|
|
5
6
|
* The default page-count bound on one listing walk. Generous enough for any
|
|
6
7
|
* real listing, but it stops a server whose every page returns a fresh cursor
|
|
@@ -79,8 +80,7 @@ function resolveNext({ next, baseUrl, firstUrl }) {
|
|
|
79
80
|
const sameOrigin = pageUrl.origin !== 'null' && pageUrl.origin === firstUrl.origin;
|
|
80
81
|
const underBasePath = pageUrl.pathname === firstUrl.pathname ||
|
|
81
82
|
pageUrl.pathname.startsWith(basePath);
|
|
82
|
-
|
|
83
|
-
if (!sameOrigin || !underBasePath || hasCredentials) {
|
|
83
|
+
if (!sameOrigin || !underBasePath || hasUserinfo(pageUrl)) {
|
|
84
84
|
throw new WasServerError(`The listing at "${listingUrl}" served a \`next\` link ` +
|
|
85
85
|
`("${pageUrl.toString()}") outside its origin or base path, or ` +
|
|
86
86
|
'with credentials in it. It was not followed.', { requestUrl: listingUrl });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../src/internal/pagination.ts"],"names":[],"mappings":"AA8BA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../src/internal/pagination.ts"],"names":[],"mappings":"AA8BA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAA;AAuBvC;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAEjC,EACA,QAAQ,EACR,SAAS,EAIV;IACC,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAA;IACvC,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAA;AAC/D,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAGlC,OAAsB,EACtB,EAAE,QAAQ,EAAE,UAAU,EAA4C;IAElE,OAAO,aAAa,CAAI;QACtB,QAAQ;QACR,SAAS,EAAE,KAAK,EAAC,GAAG,EAAC,EAAE,CACrB,UAAU,CACR,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CACpE;KACJ,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,WAAW,CAAC,EACnB,IAAI,EACJ,OAAO,EACP,QAAQ,EAKT;IACC,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAA;IACtC,IAAI,OAAY,CAAA;IAChB,IAAI,CAAC;QACH,qEAAqE;QACrE,6CAA6C;QAC7C,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,SAAS,CAAC,iBAAiB,OAAO,IAAI,iBAAiB,CAAC,CAAA;QACpE,CAAC;QACD,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAClC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,cAAc,CACtB,mBAAmB,UAAU,yCAAyC;YACpE,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EACjC,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,CACvC,CAAA;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;QAC9C,CAAC,CAAC,QAAQ,CAAC,QAAQ;QACnB,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,GAAG,CAAA;IAC3B,MAAM,UAAU,GACd,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,CAAA;IACjE,MAAM,aAAa,GACjB,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ;QACtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IACvC,IAAI,CAAC,UAAU,IAAI,CAAC,aAAa,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,cAAc,CACtB,mBAAmB,UAAU,2BAA2B;YACtD,KAAK,OAAO,CAAC,QAAQ,EAAE,yCAAyC;YAChE,8CAA8C,EAChD,EAAE,UAAU,EAAE,UAAU,EAAE,CAC3B,CAAA;IACH,CAAC;IACD,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAA;AAC3B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,SAAS,CAG9B,IAAiB,EACjB,EAAE,QAAQ,GAAG,iBAAiB,KAA4B,EAAE;IAE5D,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,CAAA;IACjC,wEAAwE;IACxE,4EAA4E;IAC5E,4EAA4E;IAC5E,4EAA4E;IAC5E,mCAAmC;IACnC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACvC,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAA;IACtC,MAAM,KAAK,CAAA;IACX,MAAM,IAAI,GAAG,IAAI,GAAG,CAAS,CAAC,UAAU,CAAC,CAAC,CAAA;IAC1C,IAAI,SAAS,GAAG,CAAC,CAAA;IACjB,IAAI,OAAO,GAAG,UAAU,CAAA;IACxB,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;IACrB,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAA;QACxD,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,cAAc,CACtB,mBAAmB,UAAU,2BAA2B;gBACtD,KAAK,OAAO,mCAAmC,EACjD,EAAE,UAAU,EAAE,UAAU,EAAE,CAC3B,CAAA;QACH,CAAC;QACD,IAAI,SAAS,IAAI,QAAQ,EAAE,CAAC;YAC1B,MAAM,IAAI,cAAc,CACtB,mBAAmB,UAAU,uBAAuB;gBAClD,GAAG,QAAQ,SAAS,EACtB,EAAE,UAAU,EAAE,UAAU,EAAE,CAC3B,CAAA;QACH,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QACjB,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAA;QACrC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,MAAM,IAAI,cAAc,CACtB,mBAAmB,UAAU,2BAA2B;gBACtD,KAAK,OAAO,+CAA+C;gBAC3D,gBAAgB,EAClB,EAAE,UAAU,EAAE,OAAO,EAAE,CACxB,CAAA;QACH,CAAC;QACD,SAAS,IAAI,CAAC,CAAA;QACd,MAAM,IAAI,CAAA;QACV,OAAO,GAAG,OAAO,CAAA;QACjB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAEhC,IAAiB;IACjB,IAAI,SAAwB,CAAA;IAC5B,MAAM,KAAK,GAAe,EAAE,CAAA;IAC5B,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,SAAS,KAAK,IAAI,CAAA;QAClB,0EAA0E;QAC1E,yDAAyD;QACzD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClB,CAAC;IACH,CAAC;IACD,iEAAiE;IACjE,MAAM,MAAM,GAAM,EAAE,GAAG,SAAU,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,MAAM,EAAE,CAAA;IACpE,OAAO,MAAM,CAAC,IAAI,CAAA;IAClB,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAE/B,IAAwB;IACxB,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;AAClD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,gBAAgB,CAErC,IAAwB;IACxB,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IACxB,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,SAAS,CAC9B,KAA6C;IAE7C,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC/B,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;AACH,CAAC"}
|
package/dist/internal/paths.d.ts
CHANGED
|
@@ -7,6 +7,15 @@
|
|
|
7
7
|
* @returns {URL | null}
|
|
8
8
|
*/
|
|
9
9
|
export declare function parseAbsoluteHttpUrl(url: string): URL | null;
|
|
10
|
+
/**
|
|
11
|
+
* Whether a parsed URL carries userinfo (a username or password). The one
|
|
12
|
+
* rule for it, shared by the container URL canonicalizer and the listing
|
|
13
|
+
* pager's `next` link check.
|
|
14
|
+
*
|
|
15
|
+
* @param url {URL}
|
|
16
|
+
* @returns {boolean}
|
|
17
|
+
*/
|
|
18
|
+
export declare function hasUserinfo(url: URL): boolean;
|
|
10
19
|
/**
|
|
11
20
|
* Whether a canonical container URL is an origin root (`https://h/`).
|
|
12
21
|
*
|
|
@@ -17,14 +26,14 @@ export declare function isOriginRoot(canonical: string): boolean;
|
|
|
17
26
|
/**
|
|
18
27
|
* The base server URL in canonical form: the URL under which a server lays
|
|
19
28
|
* out `service`, `spaces/` and `space/{space_id}/`. An absolute `http(s)` URL
|
|
20
|
-
* with no query or
|
|
21
|
-
* refused, since `https://h/pws` and `https://h/pws/` can only
|
|
22
|
-
* mount.
|
|
29
|
+
* with no query, fragment, or userinfo; a missing trailing slash is supplied
|
|
30
|
+
* rather than refused, since `https://h/pws` and `https://h/pws/` can only
|
|
31
|
+
* mean the same mount.
|
|
23
32
|
*
|
|
24
33
|
* @param baseServerUrl {string}
|
|
25
34
|
* @returns {string}
|
|
26
35
|
* @throws {ValidationError} when the value is not an absolute `http(s)` URL,
|
|
27
|
-
*
|
|
36
|
+
* carries a query, fragment, or userinfo, or has an empty path segment
|
|
28
37
|
*/
|
|
29
38
|
export declare function canonicalBaseServerUrl(baseServerUrl: string): string;
|
|
30
39
|
/**
|
|
@@ -111,7 +120,7 @@ export declare function splitCollectionUrl(collectionUrl: string): {
|
|
|
111
120
|
* caller stored it
|
|
112
121
|
* @returns {string}
|
|
113
122
|
* @throws {ValidationError} when `spaceUrl` is not an absolute `http(s)`
|
|
114
|
-
* URL, carries a query or
|
|
123
|
+
* URL, carries a query, fragment, or userinfo, or has an empty path segment
|
|
115
124
|
*/
|
|
116
125
|
export declare function canonicalSpaceUrl(spaceUrl: string): string;
|
|
117
126
|
/**
|
|
@@ -230,7 +239,11 @@ export declare function spaceLinksetUrl({ spaceUrl }: {
|
|
|
230
239
|
}): string;
|
|
231
240
|
/**
|
|
232
241
|
* `{spaceUrl}replicas` -- the Space's replica registrations: `GET` lists them
|
|
233
|
-
* and `POST` registers one.
|
|
242
|
+
* and `POST` registers one. Both take the controller's capability or a
|
|
243
|
+
* delegated one whose chain roots in the Space's root capability. A grant on
|
|
244
|
+
* the route names this bare URL as its `invocationTarget`, with no trailing
|
|
245
|
+
* slash: the server matches it exactly, and the registration and status
|
|
246
|
+
* URLs beneath it are reached through that one target.
|
|
234
247
|
*
|
|
235
248
|
* @param options {object}
|
|
236
249
|
* @param options.spaceUrl {string}
|
|
@@ -240,8 +253,8 @@ export declare function spaceReplicasUrl({ spaceUrl }: {
|
|
|
240
253
|
spaceUrl: string;
|
|
241
254
|
}): string;
|
|
242
255
|
/**
|
|
243
|
-
* `{spaceUrl}replicas/{replicaId}` -- one replica registration (read
|
|
244
|
-
* delete by id).
|
|
256
|
+
* `{spaceUrl}replicas/{replicaId}` -- one replica registration (read,
|
|
257
|
+
* replace and delete by id).
|
|
245
258
|
*
|
|
246
259
|
* @param options {object}
|
|
247
260
|
* @param options.spaceUrl {string}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/internal/paths.ts"],"names":[],"mappings":"AA8GA;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI,CAW5D;
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/internal/paths.ts"],"names":[],"mappings":"AA8GA;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI,CAW5D;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAE7C;AA8DD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAKvD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,aAAa,EACd,EAAE;IACD,aAAa,EAAE,MAAM,CAAA;CACtB,GAAG,MAAM,CAET;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,aAAa,EACd,EAAE;IACD,aAAa,EAAE,MAAM,CAAA;CACtB,GAAG,MAAM,CAET;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,EAC3B,aAAa,EACb,OAAO,EACR,EAAE;IACD,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;CAChB,GAAG,MAAM,CAET;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAqBnD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG;IACzD,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;CACrB,CA0BA;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAO1D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CASrD;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAc3E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAEvE;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAEzE;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAEzE;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAE3E;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,QAAQ,EACR,SAAS,EACV,EAAE;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;CAClB,GAAG,MAAM,CAET;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAEzE;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAEzE;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAE1E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAE3E;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,QAAQ,EACR,SAAS,EACV,EAAE;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;CAClB,GAAG,MAAM,CAET;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,SAAS,EACV,EAAE;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;CAClB,GAAG,MAAM,CAET;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,YAAY,EACb,EAAE;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;CACrB,GAAG,MAAM,CAET;AA+BD;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,YAAY,EACb,EAAE;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;CACrB,GAAG,MAAM,CAET;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,YAAY,EACb,EAAE;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;CACrB,GAAG,MAAM,CAET;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,QAAQ,EACR,YAAY,EACb,EAAE;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;CACrB,GAAG,MAAM,CAET;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,QAAQ,EACR,YAAY,EACb,EAAE;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;CACrB,GAAG,MAAM,CAET;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,YAAY,EACb,EAAE;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;CACrB,GAAG,MAAM,CAET;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,YAAY,EACb,EAAE;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;CACrB,GAAG,MAAM,CAET;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,YAAY,EACb,EAAE;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;CACrB,GAAG,MAAM,CAET;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,YAAY,EACb,EAAE;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;CACrB,GAAG,MAAM,CAET;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,YAAY,EACZ,UAAU,EACX,EAAE;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;CACnB,GAAG,MAAM,CAET;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,YAAY,EACZ,UAAU,EACX,EAAE;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;CACnB,GAAG,MAAM,CAET;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,YAAY,EACZ,UAAU,EACX,EAAE;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;CACnB,GAAG,MAAM,CAET;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,UAAU,EACX,EAAE;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CACnB,GAAG,MAAM,CAET;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,YAAY,EACZ,UAAU,EACX,EAAE;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;CACnB,GAAG,MAAM,CAET;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CASzD;AAED;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC9D;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAAA;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,MAAM,EACP,EAAE;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;CACf,GAAG,eAAe,GAAG,IAAI,CA6DzB"}
|
package/dist/internal/paths.js
CHANGED
|
@@ -113,15 +113,34 @@ export function parseAbsoluteHttpUrl(url) {
|
|
|
113
113
|
return parsed;
|
|
114
114
|
}
|
|
115
115
|
/**
|
|
116
|
-
*
|
|
117
|
-
*
|
|
116
|
+
* Whether a parsed URL carries userinfo (a username or password). The one
|
|
117
|
+
* rule for it, shared by the container URL canonicalizer and the listing
|
|
118
|
+
* pager's `next` link check.
|
|
119
|
+
*
|
|
120
|
+
* @param url {URL}
|
|
121
|
+
* @returns {boolean}
|
|
122
|
+
*/
|
|
123
|
+
export function hasUserinfo(url) {
|
|
124
|
+
return url.username !== '' || url.password !== '';
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* {@link parseAbsoluteHttpUrl} narrowed to a URL with no query, no fragment
|
|
128
|
+
* (a bare `?` or `#` counts), and no userinfo: the rule for which URLs may
|
|
129
|
+
* name a container.
|
|
118
130
|
*
|
|
119
131
|
* @param url {string}
|
|
120
132
|
* @returns {URL | null}
|
|
121
133
|
*/
|
|
122
134
|
function parseContainerUrl(url) {
|
|
135
|
+
// The input is checked for the markers rather than `search` / `hash`,
|
|
136
|
+
// which are both '' for a bare trailing `?` or `#`; those still mark a
|
|
137
|
+
// query or fragment. Userinfo is not part of the origin and so would be
|
|
138
|
+
// dropped from the canonical form; refuse it rather than rewrite the value.
|
|
139
|
+
if (url.includes('?') || url.includes('#')) {
|
|
140
|
+
return null;
|
|
141
|
+
}
|
|
123
142
|
const parsed = parseAbsoluteHttpUrl(url);
|
|
124
|
-
if (parsed === null || parsed
|
|
143
|
+
if (parsed === null || hasUserinfo(parsed)) {
|
|
125
144
|
return null;
|
|
126
145
|
}
|
|
127
146
|
return parsed;
|
|
@@ -143,8 +162,8 @@ function parseContainerUrl(url) {
|
|
|
143
162
|
function canonicalContainer({ url, what }) {
|
|
144
163
|
const parsed = parseContainerUrl(url);
|
|
145
164
|
if (parsed === null) {
|
|
146
|
-
throw new ValidationError(`"${url}" is not a ${what}: an absolute http(s) URL with no query
|
|
147
|
-
'fragment is required.');
|
|
165
|
+
throw new ValidationError(`"${url}" is not a ${what}: an absolute http(s) URL with no query, ` +
|
|
166
|
+
'fragment, or userinfo is required.');
|
|
148
167
|
}
|
|
149
168
|
const pathname = parsed.pathname.replace(/\/+$/, '');
|
|
150
169
|
if (pathname.split('/').slice(1).includes('')) {
|
|
@@ -167,14 +186,14 @@ export function isOriginRoot(canonical) {
|
|
|
167
186
|
/**
|
|
168
187
|
* The base server URL in canonical form: the URL under which a server lays
|
|
169
188
|
* out `service`, `spaces/` and `space/{space_id}/`. An absolute `http(s)` URL
|
|
170
|
-
* with no query or
|
|
171
|
-
* refused, since `https://h/pws` and `https://h/pws/` can only
|
|
172
|
-
* mount.
|
|
189
|
+
* with no query, fragment, or userinfo; a missing trailing slash is supplied
|
|
190
|
+
* rather than refused, since `https://h/pws` and `https://h/pws/` can only
|
|
191
|
+
* mean the same mount.
|
|
173
192
|
*
|
|
174
193
|
* @param baseServerUrl {string}
|
|
175
194
|
* @returns {string}
|
|
176
195
|
* @throws {ValidationError} when the value is not an absolute `http(s)` URL,
|
|
177
|
-
*
|
|
196
|
+
* carries a query, fragment, or userinfo, or has an empty path segment
|
|
178
197
|
*/
|
|
179
198
|
export function canonicalBaseServerUrl(baseServerUrl) {
|
|
180
199
|
return canonicalContainer({ url: baseServerUrl, what: 'base server URL' });
|
|
@@ -299,7 +318,7 @@ export function splitCollectionUrl(collectionUrl) {
|
|
|
299
318
|
* caller stored it
|
|
300
319
|
* @returns {string}
|
|
301
320
|
* @throws {ValidationError} when `spaceUrl` is not an absolute `http(s)`
|
|
302
|
-
* URL, carries a query or
|
|
321
|
+
* URL, carries a query, fragment, or userinfo, or has an empty path segment
|
|
303
322
|
*/
|
|
304
323
|
export function canonicalSpaceUrl(spaceUrl) {
|
|
305
324
|
const canonical = canonicalContainer({ url: spaceUrl, what: 'Space URL' });
|
|
@@ -443,7 +462,11 @@ export function spaceLinksetUrl({ spaceUrl }) {
|
|
|
443
462
|
}
|
|
444
463
|
/**
|
|
445
464
|
* `{spaceUrl}replicas` -- the Space's replica registrations: `GET` lists them
|
|
446
|
-
* and `POST` registers one.
|
|
465
|
+
* and `POST` registers one. Both take the controller's capability or a
|
|
466
|
+
* delegated one whose chain roots in the Space's root capability. A grant on
|
|
467
|
+
* the route names this bare URL as its `invocationTarget`, with no trailing
|
|
468
|
+
* slash: the server matches it exactly, and the registration and status
|
|
469
|
+
* URLs beneath it are reached through that one target.
|
|
447
470
|
*
|
|
448
471
|
* @param options {object}
|
|
449
472
|
* @param options.spaceUrl {string}
|
|
@@ -453,8 +476,8 @@ export function spaceReplicasUrl({ spaceUrl }) {
|
|
|
453
476
|
return `${canonicalSpaceUrl(spaceUrl)}replicas`;
|
|
454
477
|
}
|
|
455
478
|
/**
|
|
456
|
-
* `{spaceUrl}replicas/{replicaId}` -- one replica registration (read
|
|
457
|
-
* delete by id).
|
|
479
|
+
* `{spaceUrl}replicas/{replicaId}` -- one replica registration (read,
|
|
480
|
+
* replace and delete by id).
|
|
458
481
|
*
|
|
459
482
|
* @param options {object}
|
|
460
483
|
* @param options.spaceUrl {string}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/internal/paths.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/internal/paths.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,8 @@
|
|
|
11
11
|
* server whose protocol version this client does not speak.
|
|
12
12
|
*/
|
|
13
13
|
import type { ZcapClient } from '@interop/ezcap';
|
|
14
|
-
import type
|
|
14
|
+
import { type HttpResponse } from '@interop/http-client';
|
|
15
|
+
import { WasServerError } from '../errors.js';
|
|
15
16
|
import type { EncryptionProvider } from '../codec.js';
|
|
16
17
|
import type { IZcap, RequestInput, ServiceInfo } from '../types.js';
|
|
17
18
|
/**
|
|
@@ -63,7 +64,9 @@ export declare function rawRequest(context: ClientContext, input: SendInput): Pr
|
|
|
63
64
|
/**
|
|
64
65
|
* A plain unsigned `fetch` that maps a network failure to a `WasError`, the
|
|
65
66
|
* way the rest of the transport does. The response is returned as is,
|
|
66
|
-
* whatever its status
|
|
67
|
+
* whatever its status: this is the probe primitive for service discovery,
|
|
68
|
+
* which reads the status itself. Everything else sends through
|
|
69
|
+
* `unsignedRequest` or `send()`.
|
|
67
70
|
*
|
|
68
71
|
* @param url {string}
|
|
69
72
|
* @param init {RequestInit}
|
|
@@ -71,10 +74,15 @@ export declare function rawRequest(context: ClientContext, input: SendInput): Pr
|
|
|
71
74
|
*/
|
|
72
75
|
export declare function fetchMapped(url: string, init: RequestInit): Promise<Response>;
|
|
73
76
|
/**
|
|
74
|
-
* Sends an **unsigned** request (
|
|
75
|
-
*
|
|
76
|
-
*
|
|
77
|
-
*
|
|
77
|
+
* Sends an **unsigned** request (no capability invocation), for reading public
|
|
78
|
+
* (`PublicCanRead`) resources that need no authorization. Applies the same
|
|
79
|
+
* typed-error mapping and null-on-404 read translation as `send()`. Takes an
|
|
80
|
+
* absolute `url` -- public reads address a resource by its link.
|
|
81
|
+
*
|
|
82
|
+
* Sends through `@interop/http-client`, the same client as `send()`, so the
|
|
83
|
+
* response has the same shape (JSON pre-parsed into `data`) and the same
|
|
84
|
+
* retry and timeout behavior, and `dataOrNull` and `readJsonData` read it
|
|
85
|
+
* exactly as they read a signed one.
|
|
78
86
|
*
|
|
79
87
|
* @param input {object}
|
|
80
88
|
* @param input.url {string} absolute URL to read
|
|
@@ -108,37 +116,62 @@ export declare function unsignedRequest(input: {
|
|
|
108
116
|
* @returns {Promise<HttpResponse | null>}
|
|
109
117
|
*/
|
|
110
118
|
export declare function send(context: ClientContext, input: SendInput): Promise<HttpResponse | null>;
|
|
119
|
+
/**
|
|
120
|
+
* The `WasServerError` for a 2xx whose body was not the JSON object the
|
|
121
|
+
* operation required. The request layer parses a body into `data` only for a
|
|
122
|
+
* JSON content type, so naming the content type the server sent points at the
|
|
123
|
+
* cause (a mislabeled or body-less 2xx).
|
|
124
|
+
*
|
|
125
|
+
* @param options {object}
|
|
126
|
+
* @param options.response {HttpResponse | null}
|
|
127
|
+
* @param options.operation {string} the request, as the message's subject
|
|
128
|
+
* @param options.expected {string} what the body should have carried
|
|
129
|
+
* @returns {WasServerError}
|
|
130
|
+
*/
|
|
131
|
+
export declare function missingJsonBodyError({ response, operation, expected }: {
|
|
132
|
+
response: HttpResponse | null;
|
|
133
|
+
operation: string;
|
|
134
|
+
expected: string;
|
|
135
|
+
}): WasServerError;
|
|
111
136
|
/**
|
|
112
137
|
* The GET-a-JSON-description read shared across the handles: a signed
|
|
113
|
-
* null-on-404 `GET` of `url` whose pre-parsed body is unwrapped as `T`.
|
|
114
|
-
*
|
|
115
|
-
*
|
|
138
|
+
* null-on-404 `GET` of `url` whose pre-parsed body is unwrapped as `T`. A
|
|
139
|
+
* missing/unauthorized target (404) resolves to `null`. So does a
|
|
140
|
+
* bodyless/non-JSON 2xx (see `dataOrNull`), unless `expected` names what the
|
|
141
|
+
* body should have carried: then that 2xx is a server fault
|
|
142
|
+
* (`WasServerError`), for a read whose caller must not mistake a misbehaving
|
|
143
|
+
* server for "nothing stored".
|
|
116
144
|
*
|
|
117
145
|
* @param context {ClientContext}
|
|
118
146
|
* @param options {object}
|
|
119
147
|
* @param options.url {string} the absolute URL to read
|
|
120
148
|
* @param [options.capability] {IZcap} capability attached to the request
|
|
149
|
+
* @param [options.expected] {string} what a 2xx body must carry, for the
|
|
150
|
+
* error message; absent, a bodyless 2xx reads as `null`
|
|
121
151
|
* @returns {Promise<T | null>}
|
|
122
152
|
*/
|
|
123
|
-
export declare function readData<T>(context: ClientContext,
|
|
153
|
+
export declare function readData<T>(context: ClientContext, options: {
|
|
124
154
|
url: string;
|
|
125
155
|
capability?: IZcap;
|
|
156
|
+
expected?: string;
|
|
126
157
|
}): Promise<T | null>;
|
|
127
158
|
/**
|
|
128
159
|
* {@link readData} keeping the response's `ETag` validator beside the body:
|
|
129
|
-
* the read-with-validator shape a
|
|
130
|
-
*
|
|
131
|
-
* server that does not version the target.
|
|
160
|
+
* the read-with-validator shape a compare-and-swap starts from. `null` on the
|
|
161
|
+
* same conditions as `readData`, and `expected` has the same meaning; `etag`
|
|
162
|
+
* is absent against a server that does not version the target.
|
|
132
163
|
*
|
|
133
164
|
* @param context {ClientContext}
|
|
134
165
|
* @param options {object}
|
|
135
166
|
* @param options.url {string} the absolute URL to read
|
|
136
167
|
* @param [options.capability] {IZcap} capability attached to the request
|
|
168
|
+
* @param [options.expected] {string} see {@link readData}
|
|
137
169
|
* @returns {Promise<{ data: T; etag?: string } | null>}
|
|
138
170
|
*/
|
|
139
|
-
export declare function readDataWithEtag<T>(context: ClientContext, { url, capability }: {
|
|
171
|
+
export declare function readDataWithEtag<T>(context: ClientContext, { url, capability, expected }: {
|
|
140
172
|
url: string;
|
|
141
173
|
capability?: IZcap;
|
|
174
|
+
expected?: string;
|
|
142
175
|
}): Promise<{
|
|
143
176
|
data: T;
|
|
144
177
|
etag?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/internal/request.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAEhD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/internal/request.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAEhD,OAAO,EAAc,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACpE,OAAO,EAGL,cAAc,EAGf,MAAM,cAAc,CAAA;AAGrB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEnE;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,UAAU,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,kBAAkB,CAAA;IAC/B,OAAO,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,CAAA;CACpC;AAED;;;GAGG;AACH,MAAM,WAAW,SAAU,SAAQ,YAAY;IAC7C;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IACd;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,YAAY,CAAC,CAiBvB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,QAAQ,CAAC,CAMnB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE;IAC3C,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,IAAI,CAAC,EAAE,OAAO,CAAA;CACf,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAiB/B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,IAAI,CACxB,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAmC9B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,QAAQ,EACR,SAAS,EACT,QAAQ,EACT,EAAE;IACD,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAA;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;CACjB,GAAG,cAAc,CAMjB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,QAAQ,CAAC,CAAC,EAC9B,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9D,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAGnB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,EACtC,OAAO,EAAE,aAAa,EACtB,EACE,GAAG,EACH,UAAU,EACV,QAAQ,EACT,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GACxD,OAAO,CAAC;IAAE,IAAI,EAAE,CAAC,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAe5C"}
|
package/dist/internal/request.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { isValidTarget } from '@interop/zcap';
|
|
2
|
-
import {
|
|
2
|
+
import { httpClient } from '@interop/http-client';
|
|
3
|
+
import { NotFoundError, WasError, WasServerError, mapError, httpStatus } from '../errors.js';
|
|
3
4
|
import { dataOrNull } from './content.js';
|
|
4
5
|
import { readEtag } from './conditional.js';
|
|
5
6
|
/**
|
|
@@ -34,7 +35,9 @@ export async function rawRequest(context, input) {
|
|
|
34
35
|
/**
|
|
35
36
|
* A plain unsigned `fetch` that maps a network failure to a `WasError`, the
|
|
36
37
|
* way the rest of the transport does. The response is returned as is,
|
|
37
|
-
* whatever its status
|
|
38
|
+
* whatever its status: this is the probe primitive for service discovery,
|
|
39
|
+
* which reads the status itself. Everything else sends through
|
|
40
|
+
* `unsignedRequest` or `send()`.
|
|
38
41
|
*
|
|
39
42
|
* @param url {string}
|
|
40
43
|
* @param init {RequestInit}
|
|
@@ -49,10 +52,15 @@ export async function fetchMapped(url, init) {
|
|
|
49
52
|
}
|
|
50
53
|
}
|
|
51
54
|
/**
|
|
52
|
-
* Sends an **unsigned** request (
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
55
|
+
* Sends an **unsigned** request (no capability invocation), for reading public
|
|
56
|
+
* (`PublicCanRead`) resources that need no authorization. Applies the same
|
|
57
|
+
* typed-error mapping and null-on-404 read translation as `send()`. Takes an
|
|
58
|
+
* absolute `url` -- public reads address a resource by its link.
|
|
59
|
+
*
|
|
60
|
+
* Sends through `@interop/http-client`, the same client as `send()`, so the
|
|
61
|
+
* response has the same shape (JSON pre-parsed into `data`) and the same
|
|
62
|
+
* retry and timeout behavior, and `dataOrNull` and `readJsonData` read it
|
|
63
|
+
* exactly as they read a signed one.
|
|
56
64
|
*
|
|
57
65
|
* @param input {object}
|
|
58
66
|
* @param input.url {string} absolute URL to read
|
|
@@ -62,32 +70,23 @@ export async function fetchMapped(url, init) {
|
|
|
62
70
|
* @returns {Promise<HttpResponse | null>}
|
|
63
71
|
*/
|
|
64
72
|
export async function unsignedRequest(input) {
|
|
65
|
-
const response = await fetchMapped(input.url, {
|
|
66
|
-
method: input.method ?? 'GET',
|
|
67
|
-
headers: input.headers
|
|
68
|
-
});
|
|
69
|
-
if (response.ok) {
|
|
70
|
-
return response;
|
|
71
|
-
}
|
|
72
|
-
// A public read resolves to `null` for any "not readable by you" status, not
|
|
73
|
-
// just 404: a conformant WAS masks unauthorized as 404, but a server that
|
|
74
|
-
// answers a missing capability with 401/403 should honor the same
|
|
75
|
-
// null-if-not-publicly-readable contract rather than throw.
|
|
76
|
-
if (input.read &&
|
|
77
|
-
(response.status === 404 ||
|
|
78
|
-
response.status === 401 ||
|
|
79
|
-
response.status === 403)) {
|
|
80
|
-
return null;
|
|
81
|
-
}
|
|
82
|
-
// Reconstruct a problem+json-shaped error so mapError can dispatch on it.
|
|
83
|
-
let data;
|
|
84
73
|
try {
|
|
85
|
-
|
|
74
|
+
return await httpClient(input.url, {
|
|
75
|
+
method: input.method ?? 'GET',
|
|
76
|
+
headers: input.headers
|
|
77
|
+
});
|
|
86
78
|
}
|
|
87
|
-
catch {
|
|
88
|
-
|
|
79
|
+
catch (err) {
|
|
80
|
+
// A public read resolves to `null` for any "not readable by you" status,
|
|
81
|
+
// not just 404: a conformant WAS masks unauthorized as 404, but a server
|
|
82
|
+
// that answers a missing capability with 401/403 should honor the same
|
|
83
|
+
// null-if-not-publicly-readable contract rather than throw.
|
|
84
|
+
const status = httpStatus(err);
|
|
85
|
+
if (input.read && (status === 404 || status === 401 || status === 403)) {
|
|
86
|
+
return null;
|
|
87
|
+
}
|
|
88
|
+
throw mapError(err);
|
|
89
89
|
}
|
|
90
|
-
throw mapError({ status: response.status, requestUrl: input.url, data });
|
|
91
90
|
}
|
|
92
91
|
/**
|
|
93
92
|
* Signs and sends a request, applying the typed-error mapping. When `read` is
|
|
@@ -137,40 +136,58 @@ export async function send(context, input) {
|
|
|
137
136
|
throw mapError(err);
|
|
138
137
|
}
|
|
139
138
|
}
|
|
139
|
+
/**
|
|
140
|
+
* The `WasServerError` for a 2xx whose body was not the JSON object the
|
|
141
|
+
* operation required. The request layer parses a body into `data` only for a
|
|
142
|
+
* JSON content type, so naming the content type the server sent points at the
|
|
143
|
+
* cause (a mislabeled or body-less 2xx).
|
|
144
|
+
*
|
|
145
|
+
* @param options {object}
|
|
146
|
+
* @param options.response {HttpResponse | null}
|
|
147
|
+
* @param options.operation {string} the request, as the message's subject
|
|
148
|
+
* @param options.expected {string} what the body should have carried
|
|
149
|
+
* @returns {WasServerError}
|
|
150
|
+
*/
|
|
151
|
+
export function missingJsonBodyError({ response, operation, expected }) {
|
|
152
|
+
const contentType = response?.headers.get('content-type') ?? 'no content-type';
|
|
153
|
+
return new WasServerError(`${operation} response carried no JSON body (the server sent ` +
|
|
154
|
+
`${contentType}); expected ${expected}.`);
|
|
155
|
+
}
|
|
140
156
|
/**
|
|
141
157
|
* The GET-a-JSON-description read shared across the handles: a signed
|
|
142
|
-
* null-on-404 `GET` of `url` whose pre-parsed body is unwrapped as `T`.
|
|
143
|
-
*
|
|
144
|
-
*
|
|
158
|
+
* null-on-404 `GET` of `url` whose pre-parsed body is unwrapped as `T`. A
|
|
159
|
+
* missing/unauthorized target (404) resolves to `null`. So does a
|
|
160
|
+
* bodyless/non-JSON 2xx (see `dataOrNull`), unless `expected` names what the
|
|
161
|
+
* body should have carried: then that 2xx is a server fault
|
|
162
|
+
* (`WasServerError`), for a read whose caller must not mistake a misbehaving
|
|
163
|
+
* server for "nothing stored".
|
|
145
164
|
*
|
|
146
165
|
* @param context {ClientContext}
|
|
147
166
|
* @param options {object}
|
|
148
167
|
* @param options.url {string} the absolute URL to read
|
|
149
168
|
* @param [options.capability] {IZcap} capability attached to the request
|
|
169
|
+
* @param [options.expected] {string} what a 2xx body must carry, for the
|
|
170
|
+
* error message; absent, a bodyless 2xx reads as `null`
|
|
150
171
|
* @returns {Promise<T | null>}
|
|
151
172
|
*/
|
|
152
|
-
export async function readData(context,
|
|
153
|
-
const
|
|
154
|
-
|
|
155
|
-
method: 'GET',
|
|
156
|
-
capability,
|
|
157
|
-
read: true
|
|
158
|
-
});
|
|
159
|
-
return dataOrNull(response);
|
|
173
|
+
export async function readData(context, options) {
|
|
174
|
+
const read = await readDataWithEtag(context, options);
|
|
175
|
+
return read === null ? null : read.data;
|
|
160
176
|
}
|
|
161
177
|
/**
|
|
162
178
|
* {@link readData} keeping the response's `ETag` validator beside the body:
|
|
163
|
-
* the read-with-validator shape a
|
|
164
|
-
*
|
|
165
|
-
* server that does not version the target.
|
|
179
|
+
* the read-with-validator shape a compare-and-swap starts from. `null` on the
|
|
180
|
+
* same conditions as `readData`, and `expected` has the same meaning; `etag`
|
|
181
|
+
* is absent against a server that does not version the target.
|
|
166
182
|
*
|
|
167
183
|
* @param context {ClientContext}
|
|
168
184
|
* @param options {object}
|
|
169
185
|
* @param options.url {string} the absolute URL to read
|
|
170
186
|
* @param [options.capability] {IZcap} capability attached to the request
|
|
187
|
+
* @param [options.expected] {string} see {@link readData}
|
|
171
188
|
* @returns {Promise<{ data: T; etag?: string } | null>}
|
|
172
189
|
*/
|
|
173
|
-
export async function readDataWithEtag(context, { url, capability }) {
|
|
190
|
+
export async function readDataWithEtag(context, { url, capability, expected }) {
|
|
174
191
|
const response = await send(context, {
|
|
175
192
|
url,
|
|
176
193
|
method: 'GET',
|
|
@@ -179,6 +196,9 @@ export async function readDataWithEtag(context, { url, capability }) {
|
|
|
179
196
|
});
|
|
180
197
|
const data = dataOrNull(response);
|
|
181
198
|
if (data === null) {
|
|
199
|
+
if (response !== null && expected !== undefined) {
|
|
200
|
+
throw missingJsonBodyError({ response, operation: 'Read', expected });
|
|
201
|
+
}
|
|
182
202
|
return null;
|
|
183
203
|
}
|
|
184
204
|
return { data, etag: readEtag(response) };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/internal/request.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/internal/request.ts"],"names":[],"mappings":"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"}
|