summaryrefslogtreecommitdiff
path: root/packages/taler-wallet-webextension/src/components/TermsOfService/utils.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/taler-wallet-webextension/src/components/TermsOfService/utils.ts')
-rw-r--r--packages/taler-wallet-webextension/src/components/TermsOfService/utils.ts31
1 files changed, 15 insertions, 16 deletions
diff --git a/packages/taler-wallet-webextension/src/components/TermsOfService/utils.ts b/packages/taler-wallet-webextension/src/components/TermsOfService/utils.ts
index a106c3d85..96e268689 100644
--- a/packages/taler-wallet-webextension/src/components/TermsOfService/utils.ts
+++ b/packages/taler-wallet-webextension/src/components/TermsOfService/utils.ts
@@ -14,7 +14,11 @@
GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/>
*/
-import { ExchangeTosStatus, GetExchangeTosResult } from "@gnu-taler/taler-util";
+import {
+ ExchangeTosStatus,
+ GetExchangeTosResult,
+ Logger,
+} from "@gnu-taler/taler-util";
export function buildTermsOfServiceState(
tos: GetExchangeTosResult,
@@ -27,6 +31,8 @@ export function buildTermsOfServiceState(
return { content, status: tos.tosStatus, version: tos.currentEtag };
}
+const logger = new Logger("termsofservice");
+
function parseTermsOfServiceContent(
type: string,
text: string,
@@ -36,38 +42,31 @@ function parseTermsOfServiceContent(
const document = new DOMParser().parseFromString(text, "text/xml");
return { type: "xml", document };
} catch (e) {
- console.log(e);
+ logger.error("error parsing xml", e);
}
} else if (type === "text/html") {
try {
- const href = new URL(text);
- return { type: "html", href };
+ return { type: "html", html: text };
} catch (e) {
- console.log(e);
+ logger.error("error parsing url", e);
}
} else if (type === "text/json") {
try {
const data = JSON.parse(text);
return { type: "json", data };
} catch (e) {
- console.log(e);
+ logger.error("error parsing json", e);
}
} else if (type === "text/pdf") {
try {
const location = new URL(text);
return { type: "pdf", location };
} catch (e) {
- console.log(e);
- }
- } else if (type === "text/plain") {
- try {
- const content = text;
- return { type: "plain", content };
- } catch (e) {
- console.log(e);
+ logger.error("error parsing url", e);
}
}
- return undefined;
+ const content = text;
+ return { type: "plain", content };
}
export type TermsState = {
@@ -90,7 +89,7 @@ export interface TermsDocumentXml {
export interface TermsDocumentHtml {
type: "html";
- href: URL;
+ html: string;
}
export interface TermsDocumentPlain {