@interop/was-client 0.99.0 → 0.100.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 +94 -71
- package/dist/Collection.d.ts +20 -8
- package/dist/Collection.d.ts.map +1 -1
- package/dist/Collection.js +89 -69
- package/dist/Collection.js.map +1 -1
- package/dist/Resource.d.ts +14 -3
- package/dist/Resource.d.ts.map +1 -1
- package/dist/Resource.js +38 -27
- package/dist/Resource.js.map +1 -1
- package/dist/Space.d.ts +18 -4
- package/dist/Space.d.ts.map +1 -1
- package/dist/Space.js +64 -61
- package/dist/Space.js.map +1 -1
- package/dist/WasClient.d.ts +105 -58
- package/dist/WasClient.d.ts.map +1 -1
- package/dist/WasClient.js +216 -142
- package/dist/WasClient.js.map +1 -1
- package/dist/codec.d.ts +3 -2
- package/dist/codec.d.ts.map +1 -1
- package/dist/edv/EdvCodec.d.ts.map +1 -1
- package/dist/edv/EdvCodec.js +37 -26
- package/dist/edv/EdvCodec.js.map +1 -1
- package/dist/edv/WasTransport.d.ts +7 -4
- package/dist/edv/WasTransport.d.ts.map +1 -1
- package/dist/edv/WasTransport.js +39 -20
- package/dist/edv/WasTransport.js.map +1 -1
- package/dist/edv/acquire.d.ts +3 -3
- package/dist/edv/acquire.d.ts.map +1 -1
- package/dist/edv/acquire.js +3 -3
- package/dist/edv/acquire.js.map +1 -1
- package/dist/edv/cipher.d.ts +7 -4
- package/dist/edv/cipher.d.ts.map +1 -1
- package/dist/edv/cipher.js +7 -4
- package/dist/edv/cipher.js.map +1 -1
- package/dist/edv/core.d.ts +1 -1
- package/dist/edv/core.d.ts.map +1 -1
- package/dist/edv/core.js +1 -1
- package/dist/edv/core.js.map +1 -1
- package/dist/edv/docCipher.d.ts +10 -7
- package/dist/edv/docCipher.d.ts.map +1 -1
- package/dist/edv/docCipher.js +12 -8
- package/dist/edv/docCipher.js.map +1 -1
- package/dist/edv/encryption.d.ts +2 -2
- package/dist/edv/encryption.d.ts.map +1 -1
- package/dist/edv/encryption.js +8 -6
- package/dist/edv/encryption.js.map +1 -1
- package/dist/edv/epochCrypto.d.ts +12 -4
- package/dist/edv/epochCrypto.d.ts.map +1 -1
- package/dist/edv/epochCrypto.js +37 -10
- package/dist/edv/epochCrypto.js.map +1 -1
- package/dist/edv/epochKeys.d.ts +6 -2
- package/dist/edv/epochKeys.d.ts.map +1 -1
- package/dist/edv/epochKeys.js +25 -14
- package/dist/edv/epochKeys.js.map +1 -1
- package/dist/edv/hmacKey.d.ts +7 -1
- package/dist/edv/hmacKey.d.ts.map +1 -1
- package/dist/edv/hmacKey.js +9 -3
- package/dist/edv/hmacKey.js.map +1 -1
- package/dist/edv/index.d.ts +1 -1
- package/dist/edv/index.d.ts.map +1 -1
- package/dist/edv/index.js +1 -1
- package/dist/edv/index.js.map +1 -1
- package/dist/edv/recipients.d.ts.map +1 -1
- package/dist/edv/recipients.js +2 -0
- package/dist/edv/recipients.js.map +1 -1
- package/dist/edv/refreshingDocCipher.d.ts +3 -3
- package/dist/edv/refreshingDocCipher.d.ts.map +1 -1
- package/dist/edv/refreshingDocCipher.js +3 -3
- package/dist/edv/refreshingDocCipher.js.map +1 -1
- package/dist/edv/transportFactory.d.ts +3 -3
- package/dist/edv/transportFactory.d.ts.map +1 -1
- package/dist/edv/transportFactory.js +3 -3
- package/dist/edv/transportFactory.js.map +1 -1
- package/dist/errors.d.ts +6 -4
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +6 -4
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/internal/codec.d.ts +7 -7
- package/dist/internal/codec.d.ts.map +1 -1
- package/dist/internal/codec.js +19 -18
- package/dist/internal/codec.js.map +1 -1
- package/dist/internal/conditional.d.ts +3 -3
- package/dist/internal/conditional.d.ts.map +1 -1
- package/dist/internal/conditional.js +5 -5
- package/dist/internal/conditional.js.map +1 -1
- package/dist/internal/grant.d.ts +15 -26
- package/dist/internal/grant.d.ts.map +1 -1
- package/dist/internal/grant.js +95 -29
- package/dist/internal/grant.js.map +1 -1
- package/dist/internal/memo.d.ts +13 -4
- package/dist/internal/memo.d.ts.map +1 -1
- package/dist/internal/memo.js +18 -7
- package/dist/internal/memo.js.map +1 -1
- package/dist/internal/meta.d.ts +8 -8
- package/dist/internal/meta.d.ts.map +1 -1
- package/dist/internal/meta.js +13 -10
- package/dist/internal/meta.js.map +1 -1
- package/dist/internal/pagination.d.ts +30 -15
- package/dist/internal/pagination.d.ts.map +1 -1
- package/dist/internal/pagination.js +31 -17
- package/dist/internal/pagination.js.map +1 -1
- package/dist/internal/paths.d.ts +332 -195
- package/dist/internal/paths.d.ts.map +1 -1
- package/dist/internal/paths.js +400 -367
- package/dist/internal/paths.js.map +1 -1
- package/dist/internal/policy.d.ts +23 -23
- package/dist/internal/policy.d.ts.map +1 -1
- package/dist/internal/policy.js +20 -20
- package/dist/internal/policy.js.map +1 -1
- package/dist/internal/request.d.ts +17 -21
- package/dist/internal/request.d.ts.map +1 -1
- package/dist/internal/request.js +10 -21
- package/dist/internal/request.js.map +1 -1
- package/dist/internal/revoke.d.ts +34 -13
- package/dist/internal/revoke.d.ts.map +1 -1
- package/dist/internal/revoke.js +97 -28
- package/dist/internal/revoke.js.map +1 -1
- package/dist/internal/service.d.ts +25 -7
- package/dist/internal/service.d.ts.map +1 -1
- package/dist/internal/service.js +49 -45
- package/dist/internal/service.js.map +1 -1
- package/dist/internal/write.d.ts +18 -18
- package/dist/internal/write.d.ts.map +1 -1
- package/dist/internal/write.js +27 -27
- package/dist/internal/write.js.map +1 -1
- package/dist/paths.d.ts +32 -25
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +32 -25
- package/dist/paths.js.map +1 -1
- package/dist/sync/index.d.ts +4 -2
- package/dist/sync/index.d.ts.map +1 -1
- package/dist/sync/index.js +4 -2
- package/dist/sync/index.js.map +1 -1
- package/dist/sync/port.d.ts +3 -3
- package/dist/sync/port.d.ts.map +1 -1
- package/dist/sync/port.js +12 -12
- package/dist/sync/port.js.map +1 -1
- package/dist/sync/provisioning.d.ts +10 -9
- package/dist/sync/provisioning.d.ts.map +1 -1
- package/dist/sync/provisioning.js +19 -18
- package/dist/sync/provisioning.js.map +1 -1
- package/dist/sync/types.d.ts +2 -2
- package/dist/types.d.ts +13 -5
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -4
package/dist/internal/write.js
CHANGED
|
@@ -3,23 +3,23 @@ import { PreconditionFailedError } from '../errors.js';
|
|
|
3
3
|
import { send } from './request.js';
|
|
4
4
|
import { assertPreconditionAgainstPreRead, assertSinglePrecondition, encodedPrecondition, readEtag, writeHeaders, namedPrecondition } from './conditional.js';
|
|
5
5
|
/**
|
|
6
|
-
* Sends an encoded write (`PUT`/`POST`) to a resource
|
|
6
|
+
* Sends an encoded write (`PUT`/`POST`) to a resource URL, applying the
|
|
7
7
|
* encoded body (`json` or `body`), its content-type, and the conditional-write
|
|
8
8
|
* precondition. A write is never a `read`, so the response is always present
|
|
9
9
|
* (errors throw via `send`).
|
|
10
10
|
*
|
|
11
11
|
* @param context {ClientContext}
|
|
12
12
|
* @param options {object}
|
|
13
|
-
* @param options.
|
|
13
|
+
* @param options.url {string} the resource URL to write
|
|
14
14
|
* @param options.method {string} `PUT` or `POST`
|
|
15
15
|
* @param options.encoded {EncodedWrite} the codec's encoded write
|
|
16
16
|
* @param [options.capability] {IZcap}
|
|
17
17
|
* @param [options.precondition] {WritePrecondition} conditional-write headers
|
|
18
18
|
* @returns {Promise<HttpResponse>}
|
|
19
19
|
*/
|
|
20
|
-
export async function sendEncodedWrite(context, {
|
|
20
|
+
export async function sendEncodedWrite(context, { url, method, encoded, capability, precondition }) {
|
|
21
21
|
const response = await send(context, {
|
|
22
|
-
|
|
22
|
+
url,
|
|
23
23
|
method,
|
|
24
24
|
capability,
|
|
25
25
|
json: encoded.json,
|
|
@@ -71,21 +71,21 @@ export function codecRequestContext(context, { capability } = {}) {
|
|
|
71
71
|
* preconditions.
|
|
72
72
|
*
|
|
73
73
|
* A codec that mints its own id (e.g. the encrypting codec's EDV id) writes it
|
|
74
|
-
* by `PUT` to that id's
|
|
75
|
-
* `POST`s to the items
|
|
74
|
+
* by `PUT` to that id's URL; a codec that mints none (the identity codec)
|
|
75
|
+
* `POST`s to the items URL and lets the server mint one. A conditional codec
|
|
76
76
|
* computes the precondition itself (the EDV codec guards its fresh insert with
|
|
77
77
|
* `If-None-Match: *`); an insert through a non-conditional codec is
|
|
78
78
|
* unconditional, since `add()` names no target revision to pin against.
|
|
79
79
|
*
|
|
80
|
-
* Returns the codec's encoded write and the
|
|
80
|
+
* Returns the codec's encoded write and the URL actually written alongside the
|
|
81
81
|
* response, so the caller can shape its result (the created id and URL) without
|
|
82
82
|
* re-deriving either.
|
|
83
83
|
*
|
|
84
84
|
* @param context {ClientContext}
|
|
85
85
|
* @param options {object}
|
|
86
|
-
* @param options.
|
|
86
|
+
* @param options.itemsUrl {string} the collection's items URL, the
|
|
87
87
|
* `POST` target when the codec mints no id
|
|
88
|
-
* @param options.
|
|
88
|
+
* @param options.urlForId {function} builds the resource URL for a
|
|
89
89
|
* codec-minted id
|
|
90
90
|
* @param options.codec {ResourceCodec} the collection's resolved codec
|
|
91
91
|
* @param options.data {ResourceData} the plaintext value
|
|
@@ -93,14 +93,14 @@ export function codecRequestContext(context, { capability } = {}) {
|
|
|
93
93
|
* @param [options.capability] {IZcap}
|
|
94
94
|
* @returns {Promise<InsertOutcome>}
|
|
95
95
|
*/
|
|
96
|
-
export async function insertResource(context, {
|
|
96
|
+
export async function insertResource(context, { itemsUrl, urlForId, codec, data, contentType, capability }) {
|
|
97
97
|
const write = await codec.encode({ data, contentType });
|
|
98
98
|
if (isChunkedWrite(write)) {
|
|
99
99
|
const { id, etag } = await write.execute(codecRequestContext(context, { capability }));
|
|
100
100
|
return {
|
|
101
101
|
chunked: true,
|
|
102
102
|
id,
|
|
103
|
-
|
|
103
|
+
url: urlForId(id),
|
|
104
104
|
contentType: write.resourceContentType,
|
|
105
105
|
...(etag !== undefined && { etag })
|
|
106
106
|
};
|
|
@@ -109,15 +109,15 @@ export async function insertResource(context, { itemsPath, pathForId, codec, dat
|
|
|
109
109
|
const chosen = codec.conditionalWrites
|
|
110
110
|
? encodedPrecondition(encoded)
|
|
111
111
|
: undefined;
|
|
112
|
-
const
|
|
112
|
+
const url = encoded.id !== undefined ? urlForId(encoded.id) : itemsUrl;
|
|
113
113
|
const response = await sendEncodedWrite(context, {
|
|
114
|
-
|
|
114
|
+
url,
|
|
115
115
|
method: encoded.id !== undefined ? 'PUT' : 'POST',
|
|
116
116
|
capability,
|
|
117
117
|
encoded,
|
|
118
118
|
precondition: chosen
|
|
119
119
|
});
|
|
120
|
-
return { encoded,
|
|
120
|
+
return { encoded, url, response };
|
|
121
121
|
}
|
|
122
122
|
/**
|
|
123
123
|
* Creates or replaces a resource by id (upsert) through its codec, owning the
|
|
@@ -146,7 +146,7 @@ export async function insertResource(context, { itemsPath, pathForId, codec, dat
|
|
|
146
146
|
*
|
|
147
147
|
* @param context {ClientContext}
|
|
148
148
|
* @param options {object}
|
|
149
|
-
* @param options.
|
|
149
|
+
* @param options.url {string} the resource URL to write
|
|
150
150
|
* @param options.codec {ResourceCodec} the collection's resolved codec
|
|
151
151
|
* @param options.id {string} the resource id
|
|
152
152
|
* @param options.data {ResourceData} the plaintext value
|
|
@@ -156,7 +156,7 @@ export async function insertResource(context, { itemsPath, pathForId, codec, dat
|
|
|
156
156
|
* precondition (used only for a non-conditional codec)
|
|
157
157
|
* @returns {Promise<{ etag?: string }>} the stored resource's new ETag
|
|
158
158
|
*/
|
|
159
|
-
export async function upsertResource(context, {
|
|
159
|
+
export async function upsertResource(context, { url, codec, id, data, contentType, capability, precondition: callerPrecondition }) {
|
|
160
160
|
// An empty precondition object (the handle's default) names no baseline.
|
|
161
161
|
const precondition = namedPrecondition(callerPrecondition);
|
|
162
162
|
// Checked before the pre-read, whose comparison would otherwise answer the
|
|
@@ -165,7 +165,7 @@ export async function upsertResource(context, { path, codec, id, data, contentTy
|
|
|
165
165
|
let current;
|
|
166
166
|
if (codec.conditionalWrites) {
|
|
167
167
|
current = await send(context, {
|
|
168
|
-
|
|
168
|
+
url,
|
|
169
169
|
method: 'GET',
|
|
170
170
|
capability,
|
|
171
171
|
read: true
|
|
@@ -173,7 +173,7 @@ export async function upsertResource(context, { path, codec, id, data, contentTy
|
|
|
173
173
|
// The caller's own compare-and-swap baseline is checked against what the
|
|
174
174
|
// pre-read just observed, so a lost race fails here rather than being
|
|
175
175
|
// encoded into a sequence advance the server would then reject.
|
|
176
|
-
assertPreconditionAgainstPreRead({
|
|
176
|
+
assertPreconditionAgainstPreRead({ url, current, precondition });
|
|
177
177
|
}
|
|
178
178
|
const write = await codec.encode({
|
|
179
179
|
id,
|
|
@@ -189,7 +189,7 @@ export async function upsertResource(context, { path, codec, id, data, contentTy
|
|
|
189
189
|
});
|
|
190
190
|
if (isChunkedWrite(write)) {
|
|
191
191
|
return await runChunkedPlan(context, {
|
|
192
|
-
|
|
192
|
+
url,
|
|
193
193
|
write,
|
|
194
194
|
capability,
|
|
195
195
|
current
|
|
@@ -204,7 +204,7 @@ export async function upsertResource(context, { path, codec, id, data, contentTy
|
|
|
204
204
|
: precondition;
|
|
205
205
|
try {
|
|
206
206
|
const response = await sendEncodedWrite(context, {
|
|
207
|
-
|
|
207
|
+
url,
|
|
208
208
|
method: 'PUT',
|
|
209
209
|
capability,
|
|
210
210
|
encoded,
|
|
@@ -216,7 +216,7 @@ export async function upsertResource(context, { path, codec, id, data, contentTy
|
|
|
216
216
|
if (err instanceof PreconditionFailedError &&
|
|
217
217
|
codec.conditionalWrites &&
|
|
218
218
|
current === null) {
|
|
219
|
-
throw maskedInsertRejected({ err,
|
|
219
|
+
throw maskedInsertRejected({ err, url });
|
|
220
220
|
}
|
|
221
221
|
throw err;
|
|
222
222
|
}
|
|
@@ -236,14 +236,14 @@ export async function upsertResource(context, { path, codec, id, data, contentTy
|
|
|
236
236
|
*
|
|
237
237
|
* @param context {ClientContext}
|
|
238
238
|
* @param options {object}
|
|
239
|
-
* @param options.
|
|
239
|
+
* @param options.url {string} the resource URL the plan writes
|
|
240
240
|
* @param options.write {ChunkedWrite} the codec's plan
|
|
241
241
|
* @param [options.capability] {IZcap}
|
|
242
242
|
* @param options.current {HttpResponse | null | undefined} the pre-read's
|
|
243
243
|
* result, `undefined` when the codec asked for none
|
|
244
244
|
* @returns {Promise<{ etag?: string }>} the stored resource's new ETag
|
|
245
245
|
*/
|
|
246
|
-
async function runChunkedPlan(context, {
|
|
246
|
+
async function runChunkedPlan(context, { url, write, capability, current }) {
|
|
247
247
|
try {
|
|
248
248
|
const { etag } = await write.execute(codecRequestContext(context, { capability }));
|
|
249
249
|
return { etag };
|
|
@@ -252,7 +252,7 @@ async function runChunkedPlan(context, { path, write, capability, current }) {
|
|
|
252
252
|
// A `null` pre-read means a conditional codec looked and found nothing,
|
|
253
253
|
// so the plan wrote create-if-absent.
|
|
254
254
|
if (err instanceof PreconditionFailedError && current === null) {
|
|
255
|
-
throw maskedInsertRejected({ err,
|
|
255
|
+
throw maskedInsertRejected({ err, url });
|
|
256
256
|
}
|
|
257
257
|
throw err;
|
|
258
258
|
}
|
|
@@ -265,12 +265,12 @@ async function runChunkedPlan(context, { path, write, capability, current }) {
|
|
|
265
265
|
*
|
|
266
266
|
* @param options {object}
|
|
267
267
|
* @param options.err {PreconditionFailedError} the server's 412
|
|
268
|
-
* @param options.
|
|
268
|
+
* @param options.url {string} the resource URL written
|
|
269
269
|
* @returns {PreconditionFailedError}
|
|
270
270
|
*/
|
|
271
|
-
function maskedInsertRejected({ err,
|
|
271
|
+
function maskedInsertRejected({ err, url }) {
|
|
272
272
|
const { status, type, title, details, requestUrl } = err;
|
|
273
|
-
return new PreconditionFailedError(`Cannot update the document at "${
|
|
273
|
+
return new PreconditionFailedError(`Cannot update the document at "${url}": it exists, but its current ` +
|
|
274
274
|
'version is not readable with this capability (WAS masks ' +
|
|
275
275
|
'unauthorized reads as 404), so the write was encoded as a fresh ' +
|
|
276
276
|
'insert and the server rejected it. A conditional codec ' +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write.js","sourceRoot":"","sources":["../../src/internal/write.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA;AAGtD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnC,OAAO,EACL,gCAAgC,EAChC,wBAAwB,EACxB,mBAAmB,EACnB,QAAQ,EACR,YAAY,EACZ,iBAAiB,EAClB,MAAM,kBAAkB,CAAA;AAGzB;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAsB,EACtB,EACE,
|
|
1
|
+
{"version":3,"file":"write.js","sourceRoot":"","sources":["../../src/internal/write.ts"],"names":[],"mappings":"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"}
|
package/dist/paths.d.ts
CHANGED
|
@@ -3,39 +3,46 @@
|
|
|
3
3
|
*/
|
|
4
4
|
/**
|
|
5
5
|
* The `@interop/was-client/paths` subpath entry: the WAS URL grammar as
|
|
6
|
-
* standalone functions, for a consumer that has to form a
|
|
7
|
-
* `invocationTarget` without going through a navigational handle.
|
|
6
|
+
* standalone functions, for a consumer that has to form a URL beneath a Space
|
|
7
|
+
* or a zcap `invocationTarget` without going through a navigational handle.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
9
|
+
* Every builder takes the Space URL the server named (the `Location` of the
|
|
10
|
+
* create response, a listing item's `url`, a stored pointer) and derives one
|
|
11
|
+
* URL beneath it: `collectionUrl({ spaceUrl, collectionId })`,
|
|
12
|
+
* `resourceUrl({ spaceUrl, collectionId, resourceId })`, and the `meta`,
|
|
13
|
+
* `log`, and `query` sub-resources. No builder forms a Space URL, and none
|
|
14
|
+
* takes a server root: the spec places a Space beside nothing, so a Space URL
|
|
15
|
+
* is received rather than assembled. `canonicalSpaceUrl` is the one rule for
|
|
16
|
+
* what a Space URL is, and `spaceIdOfUrl` reads the id off its last segment.
|
|
17
|
+
*
|
|
18
|
+
* The builders own the trailing-slash canonicalization (a trailing slash
|
|
19
|
+
* marks a container in canonical form -- the Space URL, `{spaceUrl}{c}/` --
|
|
20
|
+
* everything else has none, and no two URLs differ only by a trailing slash)
|
|
12
21
|
* and the per-segment percent-encoding, and the zcap `invocationTarget` is
|
|
13
|
-
* derived from the request URL -- so a caller that hand-assembles a
|
|
14
|
-
* re-deriving rules that must match the server's `allowedTarget` byte for
|
|
15
|
-
* Exporting the builders instead is what keeps that from happening. A
|
|
16
|
-
* container's description lives at its `meta` segment (`
|
|
17
|
-
* `
|
|
18
|
-
* Spaces Repository URL a `WasClient` is constructed with from a server base
|
|
19
|
-
* URL, and `baseUrlOfSpacesUrl` is its inverse.
|
|
22
|
+
* derived from the request URL -- so a caller that hand-assembles a URL is
|
|
23
|
+
* re-deriving rules that must match the server's `allowedTarget` byte for
|
|
24
|
+
* byte. Exporting the builders instead is what keeps that from happening. A
|
|
25
|
+
* container's description lives at its `meta` segment (`spaceMetaUrl`,
|
|
26
|
+
* `collectionMetaUrl`) instead of at the container URL.
|
|
20
27
|
*
|
|
21
|
-
* `
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
* `isReservedCollectionId` / `isReservedResourceId` report whether a segment
|
|
25
|
-
* in the Reserved Path Segment Registry (the builders throw on one, so a
|
|
26
|
-
* forming a
|
|
27
|
-
* `rootCapabilityId` / `
|
|
28
|
-
* target's own root invocation names
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
* `http://localhost` server).
|
|
28
|
+
* `parseSpaceTarget` is the inverse grammar (an absolute URL back to the
|
|
29
|
+
* containment depth it addresses beneath a Space), `spaceUrlOf` reads the
|
|
30
|
+
* Space a capability is rooted in off its delegation chain,
|
|
31
|
+
* `isReservedCollectionId` / `isReservedResourceId` report whether a segment
|
|
32
|
+
* is in the Reserved Path Segment Registry (the builders throw on one, so a
|
|
33
|
+
* caller forming a URL out of a value it did not choose asks first), and
|
|
34
|
+
* `rootCapabilityId` / `rootCapabilityTarget` / `rootCapability` mint and
|
|
35
|
+
* read the `urn:zcap:root:` capability a target's own root invocation names
|
|
36
|
+
* -- the id form for parenting an unparented grant, the object form for
|
|
37
|
+
* invoking it (`@interop/ezcap` accepts a bare root capability id only for an
|
|
38
|
+
* `https:` target, which would break against an `http://localhost` server).
|
|
32
39
|
*
|
|
33
40
|
* Kept off the core entry so a consumer opts in; every export here is a pure
|
|
34
41
|
* function with no I/O and no client state.
|
|
35
42
|
*/
|
|
36
|
-
export {
|
|
43
|
+
export { canonicalSpaceUrl, spaceIdOfUrl, spaceMetaUrl, collectionUrl, collectionMetaUrl, collectionLogUrl, collectionQueryUrl, resourceUrl, resourceMetaUrl, parseSpaceTarget } from './internal/paths.js';
|
|
37
44
|
export { isReservedCollectionId, isReservedResourceId } from './internal/reserved.js';
|
|
38
45
|
export type { ParsedSpacePath } from './internal/paths.js';
|
|
39
|
-
export { rootCapabilityId, rootCapability } from './internal/revoke.js';
|
|
46
|
+
export { rootCapabilityId, rootCapabilityTarget, rootCapability, spaceUrlOf } from './internal/revoke.js';
|
|
40
47
|
export type { IRootZcap } from './types.js';
|
|
41
48
|
//# sourceMappingURL=paths.d.ts.map
|
package/dist/paths.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,gBAAgB,EACjB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAE1D,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,EACd,UAAU,EACX,MAAM,sBAAsB,CAAA;AAC7B,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA"}
|
package/dist/paths.js
CHANGED
|
@@ -3,37 +3,44 @@
|
|
|
3
3
|
*/
|
|
4
4
|
/**
|
|
5
5
|
* The `@interop/was-client/paths` subpath entry: the WAS URL grammar as
|
|
6
|
-
* standalone functions, for a consumer that has to form a
|
|
7
|
-
* `invocationTarget` without going through a navigational handle.
|
|
6
|
+
* standalone functions, for a consumer that has to form a URL beneath a Space
|
|
7
|
+
* or a zcap `invocationTarget` without going through a navigational handle.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
9
|
+
* Every builder takes the Space URL the server named (the `Location` of the
|
|
10
|
+
* create response, a listing item's `url`, a stored pointer) and derives one
|
|
11
|
+
* URL beneath it: `collectionUrl({ spaceUrl, collectionId })`,
|
|
12
|
+
* `resourceUrl({ spaceUrl, collectionId, resourceId })`, and the `meta`,
|
|
13
|
+
* `log`, and `query` sub-resources. No builder forms a Space URL, and none
|
|
14
|
+
* takes a server root: the spec places a Space beside nothing, so a Space URL
|
|
15
|
+
* is received rather than assembled. `canonicalSpaceUrl` is the one rule for
|
|
16
|
+
* what a Space URL is, and `spaceIdOfUrl` reads the id off its last segment.
|
|
17
|
+
*
|
|
18
|
+
* The builders own the trailing-slash canonicalization (a trailing slash
|
|
19
|
+
* marks a container in canonical form -- the Space URL, `{spaceUrl}{c}/` --
|
|
20
|
+
* everything else has none, and no two URLs differ only by a trailing slash)
|
|
12
21
|
* and the per-segment percent-encoding, and the zcap `invocationTarget` is
|
|
13
|
-
* derived from the request URL -- so a caller that hand-assembles a
|
|
14
|
-
* re-deriving rules that must match the server's `allowedTarget` byte for
|
|
15
|
-
* Exporting the builders instead is what keeps that from happening. A
|
|
16
|
-
* container's description lives at its `meta` segment (`
|
|
17
|
-
* `
|
|
18
|
-
* Spaces Repository URL a `WasClient` is constructed with from a server base
|
|
19
|
-
* URL, and `baseUrlOfSpacesUrl` is its inverse.
|
|
22
|
+
* derived from the request URL -- so a caller that hand-assembles a URL is
|
|
23
|
+
* re-deriving rules that must match the server's `allowedTarget` byte for
|
|
24
|
+
* byte. Exporting the builders instead is what keeps that from happening. A
|
|
25
|
+
* container's description lives at its `meta` segment (`spaceMetaUrl`,
|
|
26
|
+
* `collectionMetaUrl`) instead of at the container URL.
|
|
20
27
|
*
|
|
21
|
-
* `
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
* `isReservedCollectionId` / `isReservedResourceId` report whether a segment
|
|
25
|
-
* in the Reserved Path Segment Registry (the builders throw on one, so a
|
|
26
|
-
* forming a
|
|
27
|
-
* `rootCapabilityId` / `
|
|
28
|
-
* target's own root invocation names
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
* `http://localhost` server).
|
|
28
|
+
* `parseSpaceTarget` is the inverse grammar (an absolute URL back to the
|
|
29
|
+
* containment depth it addresses beneath a Space), `spaceUrlOf` reads the
|
|
30
|
+
* Space a capability is rooted in off its delegation chain,
|
|
31
|
+
* `isReservedCollectionId` / `isReservedResourceId` report whether a segment
|
|
32
|
+
* is in the Reserved Path Segment Registry (the builders throw on one, so a
|
|
33
|
+
* caller forming a URL out of a value it did not choose asks first), and
|
|
34
|
+
* `rootCapabilityId` / `rootCapabilityTarget` / `rootCapability` mint and
|
|
35
|
+
* read the `urn:zcap:root:` capability a target's own root invocation names
|
|
36
|
+
* -- the id form for parenting an unparented grant, the object form for
|
|
37
|
+
* invoking it (`@interop/ezcap` accepts a bare root capability id only for an
|
|
38
|
+
* `https:` target, which would break against an `http://localhost` server).
|
|
32
39
|
*
|
|
33
40
|
* Kept off the core entry so a consumer opts in; every export here is a pure
|
|
34
41
|
* function with no I/O and no client state.
|
|
35
42
|
*/
|
|
36
|
-
export {
|
|
43
|
+
export { canonicalSpaceUrl, spaceIdOfUrl, spaceMetaUrl, collectionUrl, collectionMetaUrl, collectionLogUrl, collectionQueryUrl, resourceUrl, resourceMetaUrl, parseSpaceTarget } from './internal/paths.js';
|
|
37
44
|
export { isReservedCollectionId, isReservedResourceId } from './internal/reserved.js';
|
|
38
|
-
export { rootCapabilityId, rootCapability } from './internal/revoke.js';
|
|
45
|
+
export { rootCapabilityId, rootCapabilityTarget, rootCapability, spaceUrlOf } from './internal/revoke.js';
|
|
39
46
|
//# sourceMappingURL=paths.js.map
|
package/dist/paths.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,gBAAgB,EACjB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,wBAAwB,CAAA;AAG/B,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,EACd,UAAU,EACX,MAAM,sBAAsB,CAAA"}
|
package/dist/sync/index.d.ts
CHANGED
|
@@ -42,8 +42,10 @@
|
|
|
42
42
|
* (`KeyUnwrapError`: the epoch is on the descriptor but this reader holds no
|
|
43
43
|
* key for it, so a refresh cannot help). So is the tamper signal
|
|
44
44
|
* (`IntegrityError`: the stored body does not verify against the resource id
|
|
45
|
-
* it was read under
|
|
46
|
-
*
|
|
45
|
+
* it was read under, an envelope a held key opened fails its AEAD check, or
|
|
46
|
+
* the recipient entry addressed to this reader fails its key-wrap check).
|
|
47
|
+
* `EncryptionError`, the fail-closed umbrella both `KeyUnwrapError` and
|
|
48
|
+
* `IntegrityError` fall under, rides along. So does the
|
|
47
49
|
* affordance gate (`NotSupportedError`), a permanent refusal raised before any
|
|
48
50
|
* request: by a guarded write whose pinned read returned no `ETag` validator
|
|
49
51
|
* (`/log`, `/edv`, and the client's own content-addressed store), and by a
|
package/dist/sync/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,WAAW,CAAA;AAIlB,OAAO,EACL,UAAU,IAAI,WAAW,EACzB,YAAY,EACZ,iBAAiB,EAClB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AACzE,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,eAAe,EACf,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,cAAc,CAAA;AAErB,YAAY,EACV,IAAI,EACJ,cAAc,EACd,OAAO,EACP,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,UAAU,EACV,WAAW,EACX,SAAS,EACV,MAAM,YAAY,CAAA;AAMnB,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAC1E,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA"}
|
package/dist/sync/index.js
CHANGED
|
@@ -42,8 +42,10 @@
|
|
|
42
42
|
* (`KeyUnwrapError`: the epoch is on the descriptor but this reader holds no
|
|
43
43
|
* key for it, so a refresh cannot help). So is the tamper signal
|
|
44
44
|
* (`IntegrityError`: the stored body does not verify against the resource id
|
|
45
|
-
* it was read under
|
|
46
|
-
*
|
|
45
|
+
* it was read under, an envelope a held key opened fails its AEAD check, or
|
|
46
|
+
* the recipient entry addressed to this reader fails its key-wrap check).
|
|
47
|
+
* `EncryptionError`, the fail-closed umbrella both `KeyUnwrapError` and
|
|
48
|
+
* `IntegrityError` fall under, rides along. So does the
|
|
47
49
|
* affordance gate (`NotSupportedError`), a permanent refusal raised before any
|
|
48
50
|
* request: by a guarded write whose pinned read returned no `ETag` validator
|
|
49
51
|
* (`/log`, `/edv`, and the client's own content-addressed store), and by a
|
package/dist/sync/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,WAAW,CAAA;AAClB,sEAAsE;AACtE,6EAA6E;AAC7E,SAAS;AACT,OAAO,EACL,UAAU,IAAI,WAAW,EACzB,YAAY,EACZ,iBAAiB,EAClB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AACzE,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,eAAe,EACf,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,cAAc,CAAA;AAmBrB,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA"}
|
package/dist/sync/port.d.ts
CHANGED
|
@@ -82,7 +82,7 @@ export { WRITER_ID_HEADER };
|
|
|
82
82
|
*
|
|
83
83
|
* @param options {object}
|
|
84
84
|
* @param options.was {WasClient} the session client (holds the signer)
|
|
85
|
-
* @param options.
|
|
85
|
+
* @param options.spaceUrl {string} the WAS Space URL
|
|
86
86
|
* @param options.collectionId {string} the WAS collection id
|
|
87
87
|
* @param [options.capability] {IZcap} a delegated capability to invoke on
|
|
88
88
|
* every request this port makes (pull, writes, and reads alike); omit to
|
|
@@ -91,9 +91,9 @@ export { WRITER_ID_HEADER };
|
|
|
91
91
|
* `404` to {@link WasSyncAuthError} (default `false`)
|
|
92
92
|
* @returns {WasSyncPort}
|
|
93
93
|
*/
|
|
94
|
-
export declare function createWasSyncPort({ was,
|
|
94
|
+
export declare function createWasSyncPort({ was, spaceUrl, collectionId, capability, mapAuthErrors }: {
|
|
95
95
|
was: WasClient;
|
|
96
|
-
|
|
96
|
+
spaceUrl: string;
|
|
97
97
|
collectionId: string;
|
|
98
98
|
capability?: IZcap;
|
|
99
99
|
mapAuthErrors?: boolean;
|
package/dist/sync/port.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"port.d.ts","sourceRoot":"","sources":["../../src/sync/port.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAEhD,OAAO,EACL,gBAAgB,EAGhB,gBAAgB,EACjB,MAAM,4BAA4B,CAAA;AAuBnC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,EAIV,WAAW,EAGZ,MAAM,YAAY,CAAA;AAEnB;;;;;GAKG;AACH,OAAO,EAAE,gBAAgB,EAAE,CAAA;AAE3B;;;;;GAKG;AACH,OAAO,EAAE,gBAAgB,EAAE,CAAA;AAyI3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,GAAG,EACH,
|
|
1
|
+
{"version":3,"file":"port.d.ts","sourceRoot":"","sources":["../../src/sync/port.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAEhD,OAAO,EACL,gBAAgB,EAGhB,gBAAgB,EACjB,MAAM,4BAA4B,CAAA;AAuBnC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,EAIV,WAAW,EAGZ,MAAM,YAAY,CAAA;AAEnB;;;;;GAKG;AACH,OAAO,EAAE,gBAAgB,EAAE,CAAA;AAE3B;;;;;GAKG;AACH,OAAO,EAAE,gBAAgB,EAAE,CAAA;AAyI3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,GAAG,EACH,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,aAAqB,EACtB,EAAE;IACD,GAAG,EAAE,SAAS,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,KAAK,CAAA;IAClB,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,GAAG,WAAW,CAwTd"}
|
package/dist/sync/port.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { KEY_EPOCH_HEADER, readEtag, writeHeaders, WRITER_ID_HEADER } from '../internal/conditional.js';
|
|
2
|
-
import {
|
|
2
|
+
import { resourceMetaUrl, resourceUrl } from '../internal/paths.js';
|
|
3
3
|
import { isJsonResourceChange, isMetaStamp, isWriteStamp, ProblemTypes } from '@interop/storage-core';
|
|
4
4
|
import { mapError, NotFoundError, PreconditionFailedError, WasSyncAuthError, WasSyncCheckpointError, WasSyncConflictError, WasSyncNotFoundError, WasServerError } from '../errors.js';
|
|
5
5
|
/**
|
|
@@ -161,7 +161,7 @@ function mapWriteError(err, { notFound = false, authErrors = false } = {}) {
|
|
|
161
161
|
*
|
|
162
162
|
* @param options {object}
|
|
163
163
|
* @param options.was {WasClient} the session client (holds the signer)
|
|
164
|
-
* @param options.
|
|
164
|
+
* @param options.spaceUrl {string} the WAS Space URL
|
|
165
165
|
* @param options.collectionId {string} the WAS collection id
|
|
166
166
|
* @param [options.capability] {IZcap} a delegated capability to invoke on
|
|
167
167
|
* every request this port makes (pull, writes, and reads alike); omit to
|
|
@@ -170,16 +170,16 @@ function mapWriteError(err, { notFound = false, authErrors = false } = {}) {
|
|
|
170
170
|
* `404` to {@link WasSyncAuthError} (default `false`)
|
|
171
171
|
* @returns {WasSyncPort}
|
|
172
172
|
*/
|
|
173
|
-
export function createWasSyncPort({ was,
|
|
174
|
-
//
|
|
173
|
+
export function createWasSyncPort({ was, spaceUrl, collectionId, capability, mapAuthErrors = false }) {
|
|
174
|
+
// URLs come from the internal builders, so this port inherits the same
|
|
175
175
|
// percent-encoding and reserved/dot-segment guards as the handle API.
|
|
176
|
-
const
|
|
177
|
-
const
|
|
176
|
+
const contentUrl = (id) => resourceUrl({ spaceUrl, collectionId, resourceId: id });
|
|
177
|
+
const metaUrl = (id) => resourceMetaUrl({ spaceUrl, collectionId, resourceId: id });
|
|
178
178
|
// Construction is I/O-free (the codec is a lazy thunk) and `changes()`
|
|
179
179
|
// never resolves the codec, so it ships the stored bodies verbatim -- what
|
|
180
180
|
// this codec-bypassing port requires.
|
|
181
181
|
const changesCollection = was
|
|
182
|
-
.
|
|
182
|
+
.spaceAt(spaceUrl)
|
|
183
183
|
.collection(collectionId, { capability });
|
|
184
184
|
/** Re-reads a resource's raw content body + `ETag` (no decrypt, no `/meta`). */
|
|
185
185
|
const readContent = async (id) => {
|
|
@@ -187,7 +187,7 @@ export function createWasSyncPort({ was, spaceId, collectionId, capability, mapA
|
|
|
187
187
|
try {
|
|
188
188
|
response = await was.request({
|
|
189
189
|
capability,
|
|
190
|
-
|
|
190
|
+
url: contentUrl(id),
|
|
191
191
|
method: 'GET'
|
|
192
192
|
});
|
|
193
193
|
}
|
|
@@ -319,7 +319,7 @@ export function createWasSyncPort({ was, spaceId, collectionId, capability, mapA
|
|
|
319
319
|
try {
|
|
320
320
|
const response = await was.request({
|
|
321
321
|
capability,
|
|
322
|
-
|
|
322
|
+
url: contentUrl(id),
|
|
323
323
|
method: 'PUT',
|
|
324
324
|
json: data,
|
|
325
325
|
headers: writeHeaders({
|
|
@@ -338,7 +338,7 @@ export function createWasSyncPort({ was, spaceId, collectionId, capability, mapA
|
|
|
338
338
|
try {
|
|
339
339
|
const response = await was.request({
|
|
340
340
|
capability,
|
|
341
|
-
|
|
341
|
+
url: contentUrl(id),
|
|
342
342
|
method: 'DELETE',
|
|
343
343
|
headers: writeHeaders({ precondition: { ifMatch }, writerId })
|
|
344
344
|
});
|
|
@@ -362,7 +362,7 @@ export function createWasSyncPort({ was, spaceId, collectionId, capability, mapA
|
|
|
362
362
|
try {
|
|
363
363
|
const response = await was.request({
|
|
364
364
|
capability,
|
|
365
|
-
|
|
365
|
+
url: metaUrl(id),
|
|
366
366
|
method: 'PUT',
|
|
367
367
|
// The `/meta` PUT fully replaces `custom`: a body omitting it writes
|
|
368
368
|
// the CLEARED state (the server clears every property the body
|
|
@@ -394,7 +394,7 @@ export function createWasSyncPort({ was, spaceId, collectionId, capability, mapA
|
|
|
394
394
|
// is attached before any `await` that can throw, so an abandoned read can
|
|
395
395
|
// never surface as an unhandled rejection).
|
|
396
396
|
const metaRead = was
|
|
397
|
-
.request({ capability,
|
|
397
|
+
.request({ capability, url: metaUrl(id), method: 'GET' })
|
|
398
398
|
.then(response => ({ ok: true, response }), (err) => ({ ok: false, err }));
|
|
399
399
|
const master = await readContent(id);
|
|
400
400
|
if (master === null) {
|
package/dist/sync/port.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"port.js","sourceRoot":"","sources":["../../src/sync/port.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"port.js","sourceRoot":"","sources":["../../src/sync/port.ts"],"names":[],"mappings":"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"}
|