summaryrefslogtreecommitdiff
path: root/packages/taler-util/src
diff options
context:
space:
mode:
authorSebastian <sebasjm@gmail.com>2024-03-12 08:11:00 -0300
committerSebastian <sebasjm@gmail.com>2024-03-12 08:11:00 -0300
commit0b8b9950d003e215399886a6611212d4b2666166 (patch)
treed308084d217f2eadb1a415a9d690c74c82403c8b /packages/taler-util/src
parent99e4c82ca2c47c10d80f7320ba5638741ed3b420 (diff)
downloadwallet-core-0b8b9950d003e215399886a6611212d4b2666166.tar.gz
wallet-core-0b8b9950d003e215399886a6611212d4b2666166.tar.bz2
wallet-core-0b8b9950d003e215399886a6611212d4b2666166.zip
fix #8489
Diffstat (limited to 'packages/taler-util/src')
-rw-r--r--packages/taler-util/src/observability.ts10
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)
}
}
}