diff options
| author | Jacky Zhao <[email protected]> | 2021-04-11 15:06:48 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-04-11 15:06:48 -0700 |
| commit | 82bda5ee85efbd2eae25427a839529d5e230eeaa (patch) | |
| tree | 1f7a88938fd6664a9a048503a5a78d010e3db1e2 /frontend/src/http/resolvePaste.js | |
| parent | Merge pull request #72 from jackyzha0/no-ip (diff) | |
| parent | readd preset height (diff) | |
| download | ctrl-v-82bda5ee85efbd2eae25427a839529d5e230eeaa.tar.xz ctrl-v-82bda5ee85efbd2eae25427a839529d5e230eeaa.zip | |
Merge pull request #74 from jackyzha0/next-refactor
Diffstat (limited to 'frontend/src/http/resolvePaste.js')
| -rw-r--r-- | frontend/src/http/resolvePaste.js | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/frontend/src/http/resolvePaste.js b/frontend/src/http/resolvePaste.js new file mode 100644 index 0000000..aa4f8b6 --- /dev/null +++ b/frontend/src/http/resolvePaste.js @@ -0,0 +1,46 @@ +import {useEffect, useState} from 'react' +import {fetchPaste, fmtDateStr} from './shared' +import {LANGS} from "../components/renderers/Code"; + +export const defaultResponse = { + data: { + title: '', + content: '', + language: LANGS.detect, + expiry: '', + }, + unauthorized: false, + error: '', +} + +const resolvePaste = async (id, password = "") => { + const response = {...defaultResponse} + try { + return await fetchPaste(id, password) + .then(resp => { + const data = resp.data + response.data = { + ...data, + expiry: fmtDateStr(data.expiry) + } + return response + }) + } catch (err) { + const resp = err.response + if (!resp) { + response.error = 'network error' + return response + } + + if (resp.status === 401) { + response.error = 'unauthorized' + response.unauthorized = true + return response + } + + response.error = `${resp.status}: ${resp.data}` + return response + } +} + +export default resolvePaste
\ No newline at end of file |