diff options
Diffstat (limited to 'static/api/rest.js')
| -rw-r--r-- | static/api/rest.js | 22 |
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), + })); +} |