Skip to content

Error handling

The application throws nested errors, ranging from functional to technical.

Example of an invalid KAS credential error during decryption:

bash
SdsdkError: ZTDF decryption failed
    at Function.createWithCandidateCauseError (/home/***/src/shared/errors/sdsdk-error.ts:16:14)
    at ztdfDecrypt (/home/***/src/sdsdk_core.ts:145:22)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
  cause: FetchingError: fetching error
      at HttpFetcher.queryWithJwtCredentials (/home/***/src/domain/ports/fetcher-port.ts:41:13)
      at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
      at KmaasClient.decryptDek (/home/***/src/domain/value-objects/cse/kmaas-client.ts:80:20) {
    cause: HttpError: HTTP Error 401: Unauthorized - {"code":401,"message":"Decrypt route call failed. Please contact your administrator.","details":"2001021,2006003,1014001,1003007"}
        at HttpFetcher.sendRequest (/home/***/src/infrastructure/adapters/http-fetcher.adapter.ts:64:15)
        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
        at HttpFetcher.queryWithJwtCredentials (/home/***/src/domain/ports/fetcher-port.ts:39:14)
        at KmaasClient.decryptDek (/home/***/src/domain/value-objects/cse/kmaas-client.ts:80:20)
        at DecryptDataUseCase.execute (/home/***/src/domain/usecases/decrypt-data.usecase.ts:40:17)
        at ztdfDecrypt (/home/***/src/sdsdk_core.ts:134:27) {
      status: 401,
      statusText: 'Unauthorized',
      body: '{"code":401,"message":"Decrypt route call failed. Please contact your administrator.","details":"2001021,2006003,1014001,1003007"}'
    }
  }
}