aboutsummaryrefslogtreecommitdiff
path: root/static/api/rest.js
diff options
context:
space:
mode:
Diffstat (limited to 'static/api/rest.js')
-rw-r--r--static/api/rest.js22
1 files changed, 22 insertions, 0 deletions
diff --git a/static/api/rest.js b/static/api/rest.js
new file mode 100644
index 0000000..b314615
--- /dev/null
+++ b/static/api/rest.js
@@ -0,0 +1,22 @@
+
+async function handle_fetch(promise) {
+ const result = await promise;
+ const json = await result.json();
+
+ if (!result.ok) {
+ throw json;
+ }
+
+ return json;
+}
+
+export function get(url) {
+ return handle_fetch(fetch(url));
+}
+
+export async function post(url, body) {
+ return handle_fetch(fetch(url, {
+ method: 'POST',
+ body: JSON.stringify(body),
+ }));
+}