diff options
author | Sebastian <sebasjm@gmail.com> | 2024-03-12 08:11:00 -0300 |
---|---|---|
committer | Sebastian <sebasjm@gmail.com> | 2024-03-12 08:11:00 -0300 |
commit | 0b8b9950d003e215399886a6611212d4b2666166 (patch) | |
tree | d308084d217f2eadb1a415a9d690c74c82403c8b /packages/taler-util/src/observability.ts | |
parent | 99e4c82ca2c47c10d80f7320ba5638741ed3b420 (diff) | |
download | wallet-core-0b8b9950d003e215399886a6611212d4b2666166.tar.xz |
fix #8489
Diffstat (limited to 'packages/taler-util/src/observability.ts')
-rw-r--r-- | packages/taler-util/src/observability.ts | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/packages/taler-util/src/observability.ts b/packages/taler-util/src/observability.ts index f40967c52..70391cbcd 100644 --- a/packages/taler-util/src/observability.ts +++ b/packages/taler-util/src/observability.ts @@ -38,14 +38,14 @@ export interface ObservabilityContext { let seqId = 1000; export class ObservableHttpClientLibrary implements HttpRequestLibrary { - private readonly currentRequest = new Map<string, CancellationToken.Source>(); + private readonly cancelatorById = new Map<string, CancellationToken.Source>(); constructor( private impl: HttpRequestLibrary, private oc: ObservabilityContext, ) {} - public cancelRequest(id: string) { - const cancelator = this.currentRequest.get(id); + public cancelRequest(id: string): void { + const cancelator = this.cancelatorById.get(id); if (!cancelator) return; cancelator.cancel(); } @@ -61,7 +61,7 @@ export class ObservableHttpClientLibrary implements HttpRequestLibrary { if (opt?.cancellationToken) { opt.cancellationToken.onCancelled(cancelator.cancel); } - this.currentRequest.set(id, cancelator); + this.cancelatorById.set(id, cancelator); this.oc.observe({ id, @@ -91,6 +91,8 @@ export class ObservableHttpClientLibrary implements HttpRequestLibrary { error: getErrorDetailFromException(e), }); throw e; + } finally { + this.cancelatorById.delete(id) } } } |