@sphereon/ssi-sdk.kms-rest-client 0.34.1-feature.IDK.11.297 → 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.297+54a07a98",
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.297+54a07a98",
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": "54a07a981ec47718baf3f0194c53c9982eb32cc7"
59
+ "gitHead": "9b01cf08191cb9165249a49b043d1675d82826a8"
60
60
  }
@@ -115,15 +115,11 @@ export class KmsRestClient implements IAgentPlugin {
115
115
  })
116
116
  logger.debug(`get resolver response: ${response}`)
117
117
 
118
- try {
119
- if (!response.ok) {
120
- return Promise.reject(await response.json())
121
- }
122
-
123
- return ResolverFromJSONTyped(await response.json(), false)
124
- } catch (error) {
125
- return Promise.reject(Error(`request to ${url} returned ${error}`))
118
+ if (!response.ok) {
119
+ return this.handleHttpError(url, response)
126
120
  }
121
+
122
+ return ResolverFromJSONTyped(await response.json(), false)
127
123
  }
128
124
 
129
125
  /** {@inheritDoc IKmsRestClient.kmsListResolvers} */
@@ -136,15 +132,11 @@ export class KmsRestClient implements IAgentPlugin {
136
132
  })
137
133
  logger.debug(`list resolvers response: ${response}`)
138
134
 
139
- try {
140
- if (!response.ok) {
141
- return Promise.reject(await response.json())
142
- }
143
-
144
- return ListResolversResponseFromJSONTyped(await response.json(), false)
145
- } catch (error) {
146
- return Promise.reject(Error(`request to ${url} returned ${error}`))
135
+ if (!response.ok) {
136
+ return this.handleHttpError(url, response)
147
137
  }
138
+
139
+ return ListResolversResponseFromJSONTyped(await response.json(), false)
148
140
  }
149
141
 
150
142
  /** {@inheritDoc IKmsRestClient.kmsResolveKey} */
@@ -165,15 +157,11 @@ export class KmsRestClient implements IAgentPlugin {
165
157
  })
166
158
  logger.debug(`resolve key response: ${response}`)
167
159
 
168
- try {
169
- if (!response.ok) {
170
- return Promise.reject(await response.json())
171
- }
172
-
173
- return ResolvedKeyInfoFromJSONTyped(await response.json(), false)
174
- } catch (error) {
175
- return Promise.reject(Error(`request to ${url} returned ${error}`))
160
+ if (!response.ok) {
161
+ return this.handleHttpError(url, response)
176
162
  }
163
+
164
+ return ResolvedKeyInfoFromJSONTyped(await response.json(), false)
177
165
  }
178
166
 
179
167
  /** {@inheritDoc IKmsRestClient.kmsCreateRawSignature} */
@@ -192,15 +180,11 @@ export class KmsRestClient implements IAgentPlugin {
192
180
  })
193
181
  logger.debug(`create raw signature response: ${response}`)
194
182
 
195
- try {
196
- if (!response.ok) {
197
- return Promise.reject(await response.json())
198
- }
199
-
200
- return CreateRawSignatureResponseFromJSONTyped(await response.json(), false)
201
- } catch (error) {
202
- return Promise.reject(Error(`request to ${url} returned ${error}`))
183
+ if (!response.ok) {
184
+ return this.handleHttpError(url, response)
203
185
  }
186
+
187
+ return CreateRawSignatureResponseFromJSONTyped(await response.json(), false)
204
188
  }
205
189
 
206
190
  /** {@inheritDoc IKmsRestClient.kmsIsValidRawSignature} */
@@ -220,15 +204,11 @@ export class KmsRestClient implements IAgentPlugin {
220
204
  })
221
205
  logger.debug(`verify raw signature response: ${response}`)
222
206
 
223
- try {
224
- if (!response.ok) {
225
- return Promise.reject(await response.json())
226
- }
227
-
228
- return VerifyRawSignatureResponseFromJSONTyped(await response.json(), false)
229
- } catch (error) {
230
- return Promise.reject(Error(`request to ${url} returned ${error}`))
207
+ if (!response.ok) {
208
+ return this.handleHttpError(url, response)
231
209
  }
210
+
211
+ return VerifyRawSignatureResponseFromJSONTyped(await response.json(), false)
232
212
  }
233
213
 
234
214
  /** {@inheritDoc IKmsRestClient.kmsGetKey} */
@@ -241,15 +221,11 @@ export class KmsRestClient implements IAgentPlugin {
241
221
  })
242
222
  logger.debug(`get key response: ${response}`)
243
223
 
244
- try {
245
- if (!response.ok) {
246
- return Promise.reject(await response.json())
247
- }
248
-
249
- return GetKeyResponseFromJSONTyped(await response.json(), false)
250
- } catch (error) {
251
- return Promise.reject(Error(`request to ${url} returned ${error}`))
224
+ if (!response.ok) {
225
+ return this.handleHttpError(url, response)
252
226
  }
227
+
228
+ return GetKeyResponseFromJSONTyped(await response.json(), false)
253
229
  }
254
230
 
255
231
  /** {@inheritDoc IKmsRestClient.kmsListKeys} */
@@ -261,15 +237,11 @@ export class KmsRestClient implements IAgentPlugin {
261
237
  })
262
238
  logger.debug(`list keys response: ${response}`)
263
239
 
264
- try {
265
- if (!response.ok) {
266
- return Promise.reject(await response.json())
267
- }
268
-
269
- return ListKeysResponseFromJSONTyped(await response.json(), false)
270
- } catch (error) {
271
- return Promise.reject(Error(`request to ${url} returned ${error}`))
240
+ if (!response.ok) {
241
+ return this.handleHttpError(url.toString(), response)
272
242
  }
243
+
244
+ return ListKeysResponseFromJSONTyped(await response.json(), false)
273
245
  }
274
246
 
275
247
  /** {@inheritDoc IKmsRestClient.kmsStoreKey} */
@@ -288,15 +260,11 @@ export class KmsRestClient implements IAgentPlugin {
288
260
  })
289
261
  logger.debug(`store key response: ${response}`)
290
262
 
291
- try {
292
- if (!response.ok) {
293
- return Promise.reject(await response.json())
294
- }
295
-
296
- return StoreKeyResponseFromJSONTyped(await response.json(), false)
297
- } catch (error) {
298
- return Promise.reject(Error(`request to ${url} returned ${error}`))
263
+ if (!response.ok) {
264
+ return this.handleHttpError(url, response)
299
265
  }
266
+
267
+ return StoreKeyResponseFromJSONTyped(await response.json(), false)
300
268
  }
301
269
 
302
270
  /** {@inheritDoc IKmsRestClient.kmsGenerateKey} */
@@ -317,15 +285,11 @@ export class KmsRestClient implements IAgentPlugin {
317
285
  })
318
286
  logger.debug(`generate key response: ${response}`)
319
287
 
320
- try {
321
- if (!response.ok) {
322
- return Promise.reject(await response.json())
323
- }
324
-
325
- return GenerateKeyResponseFromJSONTyped(await response.json(), false)
326
- } catch (error) {
327
- return Promise.reject(Error(`request to ${url} returned ${error}`))
288
+ if (!response.ok) {
289
+ return this.handleHttpError(url, response)
328
290
  }
291
+
292
+ return GenerateKeyResponseFromJSONTyped(await response.json(), false)
329
293
  }
330
294
 
331
295
  /** {@inheritDoc IKmsRestClient.kmsDeleteKey} */
@@ -338,12 +302,8 @@ export class KmsRestClient implements IAgentPlugin {
338
302
  })
339
303
  logger.debug(`delete key response: ${response}`)
340
304
 
341
- try {
342
- if (!response.ok) {
343
- return Promise.reject(await response.json())
344
- }
345
- } catch (error) {
346
- return Promise.reject(Error(`request to ${url} returned ${error}`))
305
+ if (!response.ok) {
306
+ return this.handleHttpError(url, response)
347
307
  }
348
308
 
349
309
  return true
@@ -359,15 +319,11 @@ export class KmsRestClient implements IAgentPlugin {
359
319
  })
360
320
  logger.debug(`get provider response: ${response}`)
361
321
 
362
- try {
363
- if (!response.ok) {
364
- return Promise.reject(await response.json())
365
- }
366
-
367
- return KeyProviderResponseFromJSONTyped(await response.json(), false)
368
- } catch (error) {
369
- return Promise.reject(Error(`request to ${url} returned ${error}`))
322
+ if (!response.ok) {
323
+ return this.handleHttpError(url, response)
370
324
  }
325
+
326
+ return KeyProviderResponseFromJSONTyped(await response.json(), false)
371
327
  }
372
328
 
373
329
  /** {@inheritDoc IKmsRestClient.kmsListKeyProviders} */
@@ -380,15 +336,11 @@ export class KmsRestClient implements IAgentPlugin {
380
336
  })
381
337
  logger.debug(`list providers response: ${response}`)
382
338
 
383
- try {
384
- if (!response.ok) {
385
- return Promise.reject(await response.json())
386
- }
387
-
388
- return ListKeyProvidersResponseFromJSONTyped(await response.json(), false)
389
- } catch (error) {
390
- return Promise.reject(Error(`request to ${url} returned ${error}`))
339
+ if (!response.ok) {
340
+ return this.handleHttpError(url, response)
391
341
  }
342
+
343
+ return ListKeyProvidersResponseFromJSONTyped(await response.json(), false)
392
344
  }
393
345
 
394
346
  /** {@inheritDoc IKmsRestClient.kmsProviderListKeys} */
@@ -401,15 +353,11 @@ export class KmsRestClient implements IAgentPlugin {
401
353
  })
402
354
  logger.debug(`list provider keys response: ${response}`)
403
355
 
404
- try {
405
- if (!response.ok) {
406
- return Promise.reject(await response.json())
407
- }
408
-
409
- return ListKeysResponseFromJSONTyped(await response.json(), false)
410
- } catch (error) {
411
- return Promise.reject(Error(`request to ${url} returned ${error}`))
356
+ if (!response.ok) {
357
+ return this.handleHttpError(url, response)
412
358
  }
359
+
360
+ return ListKeysResponseFromJSONTyped(await response.json(), false)
413
361
  }
414
362
 
415
363
  /** {@inheritDoc IKmsRestClient.kmsProviderStoreKey} */
@@ -428,15 +376,11 @@ export class KmsRestClient implements IAgentPlugin {
428
376
  })
429
377
  logger.debug(`provider store key response: ${response}`)
430
378
 
431
- try {
432
- if (!response.ok) {
433
- return Promise.reject(await response.json())
434
- }
435
-
436
- return StoreKeyResponseFromJSONTyped(await response.json(), false)
437
- } catch (error) {
438
- return Promise.reject(Error(`request to ${url} returned ${error}`))
379
+ if (!response.ok) {
380
+ return this.handleHttpError(url, response)
439
381
  }
382
+
383
+ return StoreKeyResponseFromJSONTyped(await response.json(), false)
440
384
  }
441
385
 
442
386
  /** {@inheritDoc IKmsRestClient.kmsProviderGenerateKey} */
@@ -456,15 +400,11 @@ export class KmsRestClient implements IAgentPlugin {
456
400
  })
457
401
  logger.debug(`provider generate key response: ${response}`)
458
402
 
459
- try {
460
- if (!response.ok) {
461
- return Promise.reject(await response.json())
462
- }
463
-
464
- return GenerateKeyResponseFromJSONTyped(await response.json(), false)
465
- } catch (error) {
466
- return Promise.reject(Error(`request to ${url} returned ${error}`))
403
+ if (!response.ok) {
404
+ return this.handleHttpError(url, response)
467
405
  }
406
+
407
+ return GenerateKeyResponseFromJSONTyped(await response.json(), false)
468
408
  }
469
409
 
470
410
  /** {@inheritDoc IKmsRestClient.kmsProviderGetKey} */
@@ -477,15 +417,11 @@ export class KmsRestClient implements IAgentPlugin {
477
417
  })
478
418
  logger.debug(`get provider key response: ${response}`)
479
419
 
480
- try {
481
- if (!response.ok) {
482
- return Promise.reject(await response.json())
483
- }
484
-
485
- return GetKeyResponseFromJSONTyped(await response.json(), false)
486
- } catch (error) {
487
- return Promise.reject(Error(`request to ${url} returned ${error}`))
420
+ if (!response.ok) {
421
+ return this.handleHttpError(url, response)
488
422
  }
423
+
424
+ return GetKeyResponseFromJSONTyped(await response.json(), false)
489
425
  }
490
426
 
491
427
  /** {@inheritDoc IKmsRestClient.kmsProviderDeleteKey} */
@@ -498,12 +434,8 @@ export class KmsRestClient implements IAgentPlugin {
498
434
  })
499
435
  logger.debug(`delete key response: ${response}`)
500
436
 
501
- try {
502
- if (!response.ok) {
503
- return Promise.reject(await response.json())
504
- }
505
- } catch (error) {
506
- return Promise.reject(Error(`request to ${url} returned ${error}`))
437
+ if (!response.ok) {
438
+ return this.handleHttpError(url, response)
507
439
  }
508
440
 
509
441
  return true
@@ -543,4 +475,14 @@ export class KmsRestClient implements IAgentPlugin {
543
475
 
544
476
  return url
545
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
+ }
546
488
  }