diff options
Diffstat (limited to 'packages')
-rw-r--r-- | packages/taler-util/src/taleruri.test.ts | 4 | ||||
-rw-r--r-- | packages/taler-util/src/taleruri.ts | 5 |
2 files changed, 5 insertions, 4 deletions
diff --git a/packages/taler-util/src/taleruri.test.ts b/packages/taler-util/src/taleruri.test.ts index 208beebbb..4ed97cec2 100644 --- a/packages/taler-util/src/taleruri.test.ts +++ b/packages/taler-util/src/taleruri.test.ts @@ -237,7 +237,7 @@ test("taler reward pickup uri", (t) => { }); test("taler reward pickup uri with instance", (t) => { - const url1 = "taler://reward/merchant.example.com/instances/tipm/tipid"; + const url1 = "taler://reward/merchant.example.com/instances/tipm/tipid/"; const r1 = parseRewardUri(url1); if (!r1) { t.fail(); @@ -248,7 +248,7 @@ test("taler reward pickup uri with instance", (t) => { }); test("taler reward pickup uri with instance and prefix", (t) => { - const url1 = "taler://reward/merchant.example.com/my/pfx/tipm/tipid"; + const url1 = "taler://reward/merchant.example.com/my/pfx/tipm/tipid/"; const r1 = parseRewardUri(url1); if (!r1) { t.fail(); diff --git a/packages/taler-util/src/taleruri.ts b/packages/taler-util/src/taleruri.ts index 8f37dfe76..22846c7a4 100644 --- a/packages/taler-util/src/taleruri.ts +++ b/packages/taler-util/src/taleruri.ts @@ -438,8 +438,9 @@ export function parseRewardUri(s: string): RewardUriResult | undefined { return undefined; } const host = parts[0].toLowerCase(); - const rewardId = parts[parts.length - 1]; - const pathSegments = parts.slice(1, parts.length - 1); + const unused = parts[parts.length - 1]; + const rewardId = parts[parts.length - 2]; + const pathSegments = parts.slice(1, parts.length - 2); const hostAndSegments = [host, ...pathSegments].join("/"); const merchantBaseUrl = canonicalizeBaseUrl( `${pi.innerProto}://${hostAndSegments}/`, |