@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.
Files changed (66) hide show
  1. package/README.md +44 -11
  2. package/dist/Collection.d.ts +21 -5
  3. package/dist/Collection.d.ts.map +1 -1
  4. package/dist/Collection.js +38 -31
  5. package/dist/Collection.js.map +1 -1
  6. package/dist/Space.d.ts +94 -22
  7. package/dist/Space.d.ts.map +1 -1
  8. package/dist/Space.js +162 -79
  9. package/dist/Space.js.map +1 -1
  10. package/dist/WasClient.d.ts +5 -5
  11. package/dist/WasClient.d.ts.map +1 -1
  12. package/dist/WasClient.js +7 -8
  13. package/dist/WasClient.js.map +1 -1
  14. package/dist/edv/EdvCodec.d.ts.map +1 -1
  15. package/dist/edv/EdvCodec.js +7 -4
  16. package/dist/edv/EdvCodec.js.map +1 -1
  17. package/dist/edv/docCipher.js +2 -2
  18. package/dist/edv/docCipher.js.map +1 -1
  19. package/dist/edv/logGovernedDescriptorStore.d.ts +6 -1
  20. package/dist/edv/logGovernedDescriptorStore.d.ts.map +1 -1
  21. package/dist/edv/logGovernedDescriptorStore.js +68 -43
  22. package/dist/edv/logGovernedDescriptorStore.js.map +1 -1
  23. package/dist/internal/codec.d.ts +11 -1
  24. package/dist/internal/codec.d.ts.map +1 -1
  25. package/dist/internal/codec.js +11 -1
  26. package/dist/internal/codec.js.map +1 -1
  27. package/dist/internal/describe.d.ts +6 -0
  28. package/dist/internal/describe.d.ts.map +1 -1
  29. package/dist/internal/describe.js +18 -1
  30. package/dist/internal/describe.js.map +1 -1
  31. package/dist/internal/grant.js +1 -1
  32. package/dist/internal/grant.js.map +1 -1
  33. package/dist/internal/indexSchema.d.ts +19 -4
  34. package/dist/internal/indexSchema.d.ts.map +1 -1
  35. package/dist/internal/indexSchema.js +33 -6
  36. package/dist/internal/indexSchema.js.map +1 -1
  37. package/dist/internal/pagination.d.ts.map +1 -1
  38. package/dist/internal/pagination.js +2 -2
  39. package/dist/internal/pagination.js.map +1 -1
  40. package/dist/internal/paths.d.ts +21 -8
  41. package/dist/internal/paths.d.ts.map +1 -1
  42. package/dist/internal/paths.js +36 -13
  43. package/dist/internal/paths.js.map +1 -1
  44. package/dist/internal/request.d.ts +47 -14
  45. package/dist/internal/request.d.ts.map +1 -1
  46. package/dist/internal/request.js +64 -44
  47. package/dist/internal/request.js.map +1 -1
  48. package/dist/internal/revoke.d.ts +1 -65
  49. package/dist/internal/revoke.d.ts.map +1 -1
  50. package/dist/internal/revoke.js +5 -136
  51. package/dist/internal/revoke.js.map +1 -1
  52. package/dist/internal/rootCapability.d.ts +66 -0
  53. package/dist/internal/rootCapability.d.ts.map +1 -0
  54. package/dist/internal/rootCapability.js +144 -0
  55. package/dist/internal/rootCapability.js.map +1 -0
  56. package/dist/internal/withCodec.d.ts +19 -4
  57. package/dist/internal/withCodec.d.ts.map +1 -1
  58. package/dist/internal/withCodec.js +18 -2
  59. package/dist/internal/withCodec.js.map +1 -1
  60. package/dist/internal/write.js +13 -9
  61. package/dist/internal/write.js.map +1 -1
  62. package/dist/paths.d.ts +5 -3
  63. package/dist/paths.d.ts.map +1 -1
  64. package/dist/paths.js +5 -3
  65. package/dist/paths.js.map +1 -1
  66. 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
- const hasCredentials = pageUrl.username !== '' || pageUrl.password !== '';
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":"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"}
1
+ {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../src/internal/pagination.ts"],"names":[],"mappings":"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"}
@@ -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 fragment; a missing trailing slash is supplied rather than
21
- * refused, since `https://h/pws` and `https://h/pws/` can only mean the same
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
- * or carries a query or fragment
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 fragment, or has an empty path segment
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. Controller-only, both forms.
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 and
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;AAsDD;;;;;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;;;;;;;GAOG;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"}
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/internal/paths.ts"],"names":[],"mappings":"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"}
@@ -113,15 +113,34 @@ export function parseAbsoluteHttpUrl(url) {
113
113
  return parsed;
114
114
  }
115
115
  /**
116
- * {@link parseAbsoluteHttpUrl} narrowed to a URL with no query or fragment:
117
- * the rule for which URLs may name a container.
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.search !== '' || parsed.hash !== '') {
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 or ` +
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 fragment; a missing trailing slash is supplied rather than
171
- * refused, since `https://h/pws` and `https://h/pws/` can only mean the same
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
- * or carries a query or fragment
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 fragment, or has an empty path segment
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. Controller-only, both forms.
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 and
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 { HttpResponse } from '@interop/http-client';
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 (a plain `fetch`, no capability invocation), for
75
- * reading public (`PublicCanRead`) resources that need no authorization. Applies
76
- * the same typed-error mapping and null-on-404 read translation as `send()`.
77
- * Takes an absolute `url` -- public reads address a resource by its link.
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`. Both
114
- * a missing/unauthorized target (404) and a bodyless/non-JSON response resolve
115
- * to `null` (see `dataOrNull`).
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, { url, capability }: {
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 description compare-and-swap starts from.
130
- * `null` on the same conditions as `readData`; `etag` is absent against a
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,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAIxD,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;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,QAAQ,CAAC,CAMnB;AAED;;;;;;;;;;;;GAYG;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,CA4B/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,wBAAsB,QAAQ,CAAC,CAAC,EAC9B,OAAO,EAAE,aAAa,EACtB,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,KAAK,CAAA;CAAE,GACvD,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAQnB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,EACtC,OAAO,EAAE,aAAa,EACtB,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,KAAK,CAAA;CAAE,GACvD,OAAO,CAAC;IAAE,IAAI,EAAE,CAAC,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAY5C"}
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"}
@@ -1,5 +1,6 @@
1
1
  import { isValidTarget } from '@interop/zcap';
2
- import { NotFoundError, WasError, mapError, httpStatus } from '../errors.js';
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 (a plain `fetch`, no capability invocation), for
53
- * reading public (`PublicCanRead`) resources that need no authorization. Applies
54
- * the same typed-error mapping and null-on-404 read translation as `send()`.
55
- * Takes an absolute `url` -- public reads address a resource by its link.
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
- data = await response.json();
74
+ return await httpClient(input.url, {
75
+ method: input.method ?? 'GET',
76
+ headers: input.headers
77
+ });
86
78
  }
87
- catch {
88
- data = undefined;
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`. Both
143
- * a missing/unauthorized target (404) and a bodyless/non-JSON response resolve
144
- * to `null` (see `dataOrNull`).
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, { url, capability }) {
153
- const response = await send(context, {
154
- url,
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 description compare-and-swap starts from.
164
- * `null` on the same conditions as `readData`; `etag` is absent against a
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":"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"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/internal/request.ts"],"names":[],"mappings":"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"}