@sphereon/ssi-sdk.kms-rest-client 0.34.1-feature.IDK.11.296 → 0.34.1-feature.IDK.11.298

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sphereon/ssi-sdk.kms-rest-client",
3
3
  "description": "contains the client side to call REST endpoints of a KMS server",
4
- "version": "0.34.1-feature.IDK.11.296+664623d2",
4
+ "version": "0.34.1-feature.IDK.11.298+9b01cf08",
5
5
  "source": "src/index.ts",
6
6
  "type": "module",
7
7
  "main": "./dist/index.cjs",
@@ -28,7 +28,7 @@
28
28
  "generate-plugin-schema": "tsx ../../packages/dev/bin/sphereon.js dev generate-plugin-schema"
29
29
  },
30
30
  "dependencies": {
31
- "@sphereon/ssi-types": "0.34.1-feature.IDK.11.296+664623d2",
31
+ "@sphereon/ssi-types": "0.34.1-feature.IDK.11.298+9b01cf08",
32
32
  "cross-fetch": "^3.1.8"
33
33
  },
34
34
  "devDependencies": {
@@ -56,5 +56,5 @@
56
56
  "KMS",
57
57
  "REST"
58
58
  ],
59
- "gitHead": "664623d271437ff969c1d3cb74cd1a37ee25e492"
59
+ "gitHead": "9b01cf08191cb9165249a49b043d1675d82826a8"
60
60
  }
@@ -116,14 +116,10 @@ export class KmsRestClient implements IAgentPlugin {
116
116
  logger.debug(`get resolver response: ${response}`)
117
117
 
118
118
  if (!response.ok) {
119
- return Promise.reject(await response.json())
119
+ return this.handleHttpError(url, response)
120
120
  }
121
121
 
122
- try {
123
- return ResolverFromJSONTyped(await response.json(), false)
124
- } catch (error) {
125
- return Promise.reject(Error(`request to ${url} returned ${error}`))
126
- }
122
+ return ResolverFromJSONTyped(await response.json(), false)
127
123
  }
128
124
 
129
125
  /** {@inheritDoc IKmsRestClient.kmsListResolvers} */
@@ -137,14 +133,10 @@ export class KmsRestClient implements IAgentPlugin {
137
133
  logger.debug(`list resolvers response: ${response}`)
138
134
 
139
135
  if (!response.ok) {
140
- return Promise.reject(await response.json())
136
+ return this.handleHttpError(url, response)
141
137
  }
142
138
 
143
- try {
144
- return ListResolversResponseFromJSONTyped(await response.json(), false)
145
- } catch (error) {
146
- return Promise.reject(Error(`request to ${url} returned ${error}`))
147
- }
139
+ return ListResolversResponseFromJSONTyped(await response.json(), false)
148
140
  }
149
141
 
150
142
  /** {@inheritDoc IKmsRestClient.kmsResolveKey} */
@@ -166,14 +158,10 @@ export class KmsRestClient implements IAgentPlugin {
166
158
  logger.debug(`resolve key response: ${response}`)
167
159
 
168
160
  if (!response.ok) {
169
- return Promise.reject(await response.json())
161
+ return this.handleHttpError(url, response)
170
162
  }
171
163
 
172
- try {
173
- return ResolvedKeyInfoFromJSONTyped(await response.json(), false)
174
- } catch (error) {
175
- return Promise.reject(Error(`request to ${url} returned ${error}`))
176
- }
164
+ return ResolvedKeyInfoFromJSONTyped(await response.json(), false)
177
165
  }
178
166
 
179
167
  /** {@inheritDoc IKmsRestClient.kmsCreateRawSignature} */
@@ -193,14 +181,10 @@ export class KmsRestClient implements IAgentPlugin {
193
181
  logger.debug(`create raw signature response: ${response}`)
194
182
 
195
183
  if (!response.ok) {
196
- return Promise.reject(await response.json())
184
+ return this.handleHttpError(url, response)
197
185
  }
198
186
 
199
- try {
200
- return CreateRawSignatureResponseFromJSONTyped(await response.json(), false)
201
- } catch (error) {
202
- return Promise.reject(Error(`request to ${url} returned ${error}`))
203
- }
187
+ return CreateRawSignatureResponseFromJSONTyped(await response.json(), false)
204
188
  }
205
189
 
206
190
  /** {@inheritDoc IKmsRestClient.kmsIsValidRawSignature} */
@@ -221,14 +205,10 @@ export class KmsRestClient implements IAgentPlugin {
221
205
  logger.debug(`verify raw signature response: ${response}`)
222
206
 
223
207
  if (!response.ok) {
224
- return Promise.reject(await response.json())
208
+ return this.handleHttpError(url, response)
225
209
  }
226
210
 
227
- try {
228
- return VerifyRawSignatureResponseFromJSONTyped(await response.json(), false)
229
- } catch (error) {
230
- return Promise.reject(Error(`request to ${url} returned ${error}`))
231
- }
211
+ return VerifyRawSignatureResponseFromJSONTyped(await response.json(), false)
232
212
  }
233
213
 
234
214
  /** {@inheritDoc IKmsRestClient.kmsGetKey} */
@@ -242,14 +222,10 @@ export class KmsRestClient implements IAgentPlugin {
242
222
  logger.debug(`get key response: ${response}`)
243
223
 
244
224
  if (!response.ok) {
245
- return Promise.reject(await response.json())
225
+ return this.handleHttpError(url, response)
246
226
  }
247
227
 
248
- try {
249
- return GetKeyResponseFromJSONTyped(await response.json(), false)
250
- } catch (error) {
251
- return Promise.reject(Error(`request to ${url} returned ${error}`))
252
- }
228
+ return GetKeyResponseFromJSONTyped(await response.json(), false)
253
229
  }
254
230
 
255
231
  /** {@inheritDoc IKmsRestClient.kmsListKeys} */
@@ -262,14 +238,10 @@ export class KmsRestClient implements IAgentPlugin {
262
238
  logger.debug(`list keys response: ${response}`)
263
239
 
264
240
  if (!response.ok) {
265
- return Promise.reject(await response.json())
241
+ return this.handleHttpError(url.toString(), response)
266
242
  }
267
243
 
268
- try {
269
- return ListKeysResponseFromJSONTyped(await response.json(), false)
270
- } catch (error) {
271
- return Promise.reject(Error(`request to ${url} returned ${error}`))
272
- }
244
+ return ListKeysResponseFromJSONTyped(await response.json(), false)
273
245
  }
274
246
 
275
247
  /** {@inheritDoc IKmsRestClient.kmsStoreKey} */
@@ -289,14 +261,10 @@ export class KmsRestClient implements IAgentPlugin {
289
261
  logger.debug(`store key response: ${response}`)
290
262
 
291
263
  if (!response.ok) {
292
- return Promise.reject(await response.json())
264
+ return this.handleHttpError(url, response)
293
265
  }
294
266
 
295
- try {
296
- return StoreKeyResponseFromJSONTyped(await response.json(), false)
297
- } catch (error) {
298
- return Promise.reject(Error(`request to ${url} returned ${error}`))
299
- }
267
+ return StoreKeyResponseFromJSONTyped(await response.json(), false)
300
268
  }
301
269
 
302
270
  /** {@inheritDoc IKmsRestClient.kmsGenerateKey} */
@@ -318,14 +286,10 @@ export class KmsRestClient implements IAgentPlugin {
318
286
  logger.debug(`generate key response: ${response}`)
319
287
 
320
288
  if (!response.ok) {
321
- return Promise.reject(await response.json())
289
+ return this.handleHttpError(url, response)
322
290
  }
323
291
 
324
- try {
325
- return GenerateKeyResponseFromJSONTyped(await response.json(), false)
326
- } catch (error) {
327
- return Promise.reject(Error(`request to ${url} returned ${error}`))
328
- }
292
+ return GenerateKeyResponseFromJSONTyped(await response.json(), false)
329
293
  }
330
294
 
331
295
  /** {@inheritDoc IKmsRestClient.kmsDeleteKey} */
@@ -336,9 +300,10 @@ export class KmsRestClient implements IAgentPlugin {
336
300
  const response = await fetch(url, {
337
301
  method: 'DELETE',
338
302
  })
303
+ logger.debug(`delete key response: ${response}`)
339
304
 
340
305
  if (!response.ok) {
341
- return Promise.reject(await response.json())
306
+ return this.handleHttpError(url, response)
342
307
  }
343
308
 
344
309
  return true
@@ -355,14 +320,10 @@ export class KmsRestClient implements IAgentPlugin {
355
320
  logger.debug(`get provider response: ${response}`)
356
321
 
357
322
  if (!response.ok) {
358
- return Promise.reject(await response.json())
323
+ return this.handleHttpError(url, response)
359
324
  }
360
325
 
361
- try {
362
- return KeyProviderResponseFromJSONTyped(await response.json(), false)
363
- } catch (error) {
364
- return Promise.reject(Error(`request to ${url} returned ${error}`))
365
- }
326
+ return KeyProviderResponseFromJSONTyped(await response.json(), false)
366
327
  }
367
328
 
368
329
  /** {@inheritDoc IKmsRestClient.kmsListKeyProviders} */
@@ -376,14 +337,10 @@ export class KmsRestClient implements IAgentPlugin {
376
337
  logger.debug(`list providers response: ${response}`)
377
338
 
378
339
  if (!response.ok) {
379
- return Promise.reject(await response.json())
340
+ return this.handleHttpError(url, response)
380
341
  }
381
342
 
382
- try {
383
- return ListKeyProvidersResponseFromJSONTyped(await response.json(), false)
384
- } catch (error) {
385
- return Promise.reject(Error(`request to ${url} returned ${error}`))
386
- }
343
+ return ListKeyProvidersResponseFromJSONTyped(await response.json(), false)
387
344
  }
388
345
 
389
346
  /** {@inheritDoc IKmsRestClient.kmsProviderListKeys} */
@@ -397,14 +354,10 @@ export class KmsRestClient implements IAgentPlugin {
397
354
  logger.debug(`list provider keys response: ${response}`)
398
355
 
399
356
  if (!response.ok) {
400
- return Promise.reject(await response.json())
357
+ return this.handleHttpError(url, response)
401
358
  }
402
359
 
403
- try {
404
- return ListKeysResponseFromJSONTyped(await response.json(), false)
405
- } catch (error) {
406
- return Promise.reject(Error(`request to ${url} returned ${error}`))
407
- }
360
+ return ListKeysResponseFromJSONTyped(await response.json(), false)
408
361
  }
409
362
 
410
363
  /** {@inheritDoc IKmsRestClient.kmsProviderStoreKey} */
@@ -424,14 +377,10 @@ export class KmsRestClient implements IAgentPlugin {
424
377
  logger.debug(`provider store key response: ${response}`)
425
378
 
426
379
  if (!response.ok) {
427
- return Promise.reject(await response.json())
380
+ return this.handleHttpError(url, response)
428
381
  }
429
382
 
430
- try {
431
- return StoreKeyResponseFromJSONTyped(await response.json(), false)
432
- } catch (error) {
433
- return Promise.reject(Error(`request to ${url} returned ${error}`))
434
- }
383
+ return StoreKeyResponseFromJSONTyped(await response.json(), false)
435
384
  }
436
385
 
437
386
  /** {@inheritDoc IKmsRestClient.kmsProviderGenerateKey} */
@@ -452,14 +401,10 @@ export class KmsRestClient implements IAgentPlugin {
452
401
  logger.debug(`provider generate key response: ${response}`)
453
402
 
454
403
  if (!response.ok) {
455
- return Promise.reject(await response.json())
404
+ return this.handleHttpError(url, response)
456
405
  }
457
406
 
458
- try {
459
- return GenerateKeyResponseFromJSONTyped(await response.json(), false)
460
- } catch (error) {
461
- return Promise.reject(Error(`request to ${url} returned ${error}`))
462
- }
407
+ return GenerateKeyResponseFromJSONTyped(await response.json(), false)
463
408
  }
464
409
 
465
410
  /** {@inheritDoc IKmsRestClient.kmsProviderGetKey} */
@@ -473,14 +418,10 @@ export class KmsRestClient implements IAgentPlugin {
473
418
  logger.debug(`get provider key response: ${response}`)
474
419
 
475
420
  if (!response.ok) {
476
- return Promise.reject(await response.json())
421
+ return this.handleHttpError(url, response)
477
422
  }
478
423
 
479
- try {
480
- return GetKeyResponseFromJSONTyped(await response.json(), false)
481
- } catch (error) {
482
- return Promise.reject(Error(`request to ${url} returned ${error}`))
483
- }
424
+ return GetKeyResponseFromJSONTyped(await response.json(), false)
484
425
  }
485
426
 
486
427
  /** {@inheritDoc IKmsRestClient.kmsProviderDeleteKey} */
@@ -491,9 +432,10 @@ export class KmsRestClient implements IAgentPlugin {
491
432
  const response = await fetch(url, {
492
433
  method: 'DELETE',
493
434
  })
435
+ logger.debug(`delete key response: ${response}`)
494
436
 
495
437
  if (!response.ok) {
496
- return Promise.reject(await response.json())
438
+ return this.handleHttpError(url, response)
497
439
  }
498
440
 
499
441
  return true
@@ -533,4 +475,14 @@ export class KmsRestClient implements IAgentPlugin {
533
475
 
534
476
  return url
535
477
  }
478
+
479
+ private async handleHttpError(url: string, response: Response): Promise<never> {
480
+ const contentType = response.headers.get("content-type")
481
+ const isJson = contentType?.includes("application/json")
482
+ const responseBody = isJson
483
+ ? JSON.stringify(await response.json())
484
+ : await response.text()
485
+
486
+ return Promise.reject(Error(`request to ${url} returned http error ${response.status} - ${responseBody}`))
487
+ }
536
488
  }