aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2022-08-02 10:06:57 -0700
committerAdam Soltys <[email protected]>2022-08-02 10:06:57 -0700
commit05f5001fc7d325e31d9c777be11343604c72fbfd (patch)
treee6f066b9df653d97d3c0b611cdfbb69e2bcc4098 /src/lib
parent63a4af3686b7a81874a87259f6ec5dd44aa97e48 (diff)
downloadcoinos-ui-05f5001fc7d325e31d9c777be11343604c72fbfd.tar.gz
coinos-ui-05f5001fc7d325e31d9c777be11343604c72fbfd.zip
catch login and registration errors
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/utils.js17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/lib/utils.js b/src/lib/utils.js
index db8a490a..669b2b5e 100644
--- a/src/lib/utils.js
+++ b/src/lib/utils.js
@@ -13,7 +13,7 @@ export const get = (url, headers = { accept: 'application/json' }) =>
try {
return JSON.parse(body);
} catch (e) {
- throw Error(body);
+ throw new Error(body);
}
});
@@ -22,7 +22,20 @@ export const post = (url, body) =>
method: 'POST',
body: JSON.stringify(body),
headers: { accept: 'application/json', 'content-type': 'application/json' }
- }).then((r) => r.json());
+ })
+ .then((r) => r.text())
+ .then((body) => {
+ try {
+ body = JSON.parse(body);
+ } catch (e) {
+ throw new Error(body);
+ }
+
+ if (body instanceof Error) throw body;
+ if (body.name === 'Error') throw new Error(body.message);
+
+ return body;
+ });
export const copy = (text) => {
navigator.clipboard.writeText(text);