[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-wallet-core] 01/03: handle error
From: |
gnunet |
Subject: |
[taler-wallet-core] 01/03: handle error |
Date: |
Sun, 21 Apr 2024 09:54:33 +0200 |
This is an automated email from the git hooks/post-receive script.
nora-grothoff pushed a commit to branch master
in repository wallet-core.
commit 9b1d1feacd62d259cd56d6ed781d3ed34176db43
Author: Nullptrderef <nullptrderef@proton.me>
AuthorDate: Sun Apr 21 09:48:22 2024 +0200
handle error
---
.../src/pages/home/AddingProviderScreen/index.ts | 27 ++++++++++++++++------
1 file changed, 20 insertions(+), 7 deletions(-)
diff --git
a/packages/anastasis-webui/src/pages/home/AddingProviderScreen/index.ts
b/packages/anastasis-webui/src/pages/home/AddingProviderScreen/index.ts
index 0ab275f54..7da3ea217 100644
--- a/packages/anastasis-webui/src/pages/home/AddingProviderScreen/index.ts
+++ b/packages/anastasis-webui/src/pages/home/AddingProviderScreen/index.ts
@@ -24,7 +24,7 @@ import { WithoutProviderType, WithProviderType } from
"./views.js";
export type AuthProvByStatusMap = Record<
AuthenticationProviderStatus["status"],
(AuthenticationProviderStatus & { url: string })[]
->
+>;
export type State = NoReducer | InvalidState | WithType | WithoutType;
@@ -63,16 +63,29 @@ const map: StateViewMap<State> = {
"without-type": WithoutProviderType,
};
-export default compose("AddingProviderScreen", useComponentState, map)
-
+export default compose("AddingProviderScreen", useComponentState, map);
export async function testProvider(
url: string,
expectedMethodType?: string,
): Promise<void> {
try {
- const response = await fetch(new URL("config", url).href);
- const json = await response.json().catch((d) => ({}));
+ // TODO: look into using core.getProviderInfo :)
+ const json = await fetch(new URL("config", url).href)
+ .catch((error) => {
+ console.error("Provider HTTP Error:", error);
+ throw new Error(
+ "Encountered a fatal error whilst testing the provider: " + url,
+ );
+ })
+ .then((response) =>
+ response.json().catch((error) => {
+ console.error("Provider Parsing Error:", error);
+ throw new Error(
+ "Encountered a fatal error whilst testing the provider: " + url,
+ );
+ }),
+ );
if (!("methods" in json) || !Array.isArray(json.methods)) {
throw Error(
"This provider doesn't have authentication method. Check the provider
URL",
@@ -96,8 +109,8 @@ export async function testProvider(
const error =
e instanceof Error
? Error(
- `There was an error testing this provider, try another one.
${e.message}`,
- )
+ `There was an error testing this provider, try another one.
${e.message}`,
+ )
: Error(`There was an error testing this provider, try another one.`);
throw error;
}
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.