[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-wallet-core] branch master updated: fix payto parsing
From: |
gnunet |
Subject: |
[taler-wallet-core] branch master updated: fix payto parsing |
Date: |
Wed, 19 Jun 2024 17:23:06 +0200 |
This is an automated email from the git hooks/post-receive script.
sebasjm pushed a commit to branch master
in repository wallet-core.
The following commit(s) were added to refs/heads/master by this push:
new 0695533de fix payto parsing
0695533de is described below
commit 0695533de2354a3681ccc1d0627cbdb44eed9a75
Author: Sebastian <sebasjm@gmail.com>
AuthorDate: Wed Jun 19 12:22:57 2024 -0300
fix payto parsing
---
packages/taler-util/src/payto.test.ts | 6 ++++++
packages/taler-util/src/payto.ts | 17 ++++++++++++-----
2 files changed, 18 insertions(+), 5 deletions(-)
diff --git a/packages/taler-util/src/payto.test.ts
b/packages/taler-util/src/payto.test.ts
index 0802e1cd4..1b6907cbb 100644
--- a/packages/taler-util/src/payto.test.ts
+++ b/packages/taler-util/src/payto.test.ts
@@ -36,3 +36,9 @@ test("parsing payto and stringify again", (t) => {
t.is(stringifyPaytoUri(parsePaytoUri(payto1)!), payto1);
});
+test("parsing payto with % carh", (t) => {
+ const payto1 =
+
"payto://iban/DE7763544441436?receiver-name=Test%20123%2B-%24%25%5E%3Cem%3Ehi%3C%2Fem%3E"
as PaytoString;
+
+ t.is(stringifyPaytoUri(parsePaytoUri(payto1)!), payto1);
+});
diff --git a/packages/taler-util/src/payto.ts b/packages/taler-util/src/payto.ts
index 1d13fb502..2b55cdf64 100644
--- a/packages/taler-util/src/payto.ts
+++ b/packages/taler-util/src/payto.ts
@@ -23,7 +23,14 @@ import {
codecForStringURL,
renderContext,
} from "./codec.js";
-import { AccessToken, bytesToString, codecForAccessToken, codecOptional,
hashTruncate32, stringToBytes } from "./index.js";
+import {
+ AccessToken,
+ bytesToString,
+ codecForAccessToken,
+ codecOptional,
+ hashTruncate32,
+ stringToBytes,
+} from "./index.js";
import { URLSearchParams } from "./url.js";
export type PaytoUri =
@@ -164,7 +171,6 @@ export function addPaytoQueryParams(
return paytoPfx + acct;
}
return paytoPfx + acct + "?" + createSearchParams(paramList);
-
}
/**
@@ -197,12 +203,12 @@ function createSearchParams(paramList: [string,
string][]): string {
export function stringifyPaytoUri(p: PaytoUri): PaytoString {
const url = new URL(`${paytoPfx}${p.targetType}/${p.targetPath}`);
const paramList = !p.params ? [] : Object.entries(p.params);
- url.search = createSearchParams(paramList)
+ url.search = createSearchParams(paramList);
return url.href as PaytoString;
}
export function hashPaytoUri(p: PaytoUri): string {
- const paytoUri = stringifyPaytoUri(p)
+ const paytoUri = stringifyPaytoUri(p);
return bytesToString(hashTruncate32(stringToBytes(paytoUri + "\0")));
}
@@ -234,7 +240,8 @@ export function parsePaytoUri(s: string): PaytoUri |
undefined {
const searchParams = new URLSearchParams(search || "");
searchParams.forEach((v, k) => {
- params[k] = decodeURIComponent(v);
+ // URLSearchParams already decodes uri components
+ params[k] = v; //decodeURIComponent(v);
});
if (targetType === "x-taler-bank") {
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [taler-wallet-core] branch master updated: fix payto parsing,
gnunet <=