aboutsummaryrefslogtreecommitdiff
path: root/frontend/src/http/resolvePaste.js
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/src/http/resolvePaste.js')
-rw-r--r--frontend/src/http/resolvePaste.js43
1 files changed, 43 insertions, 0 deletions
diff --git a/frontend/src/http/resolvePaste.js b/frontend/src/http/resolvePaste.js
new file mode 100644
index 0000000..8d40cbe
--- /dev/null
+++ b/frontend/src/http/resolvePaste.js
@@ -0,0 +1,43 @@
+import {useEffect, useState} from 'react'
+import {fetchPaste, fmtDateStr} from './shared'
+import {LANGS} from "../components/renderers/Code";
+
+const resolvePaste = (id, password = "") => {
+ const response = {
+ data: {
+ title: '',
+ content: '',
+ language: LANGS.detect,
+ expiry: '',
+ },
+ unauthorized: false,
+ error: '',
+ }
+ return fetchPaste(id, password)
+ .then(resp => {
+ const data = resp.data
+ response.data = {
+ ...data,
+ expiry: fmtDateStr(data.expiry)
+ }
+ return response
+ })
+ .catch(error => {
+ const resp = error.response
+ if (!resp) {
+ response.error = 'network error'
+ return
+ }
+
+ if (resp.status === 401) {
+ response.error = 'unauthorized'
+ response.unauthorized = true
+ return
+ }
+
+ response.error = `${resp.status}: ${resp.data}`
+ return response
+ })
+}
+
+export default resolvePaste \ No newline at end of file