diff options
author | Thomas Huang <tmashuang@users.noreply.github.com> | 2019-05-31 05:06:37 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-31 05:06:37 +0800 |
commit | d83770354636b8c4d933903d1e19bc9733f15a4c (patch) | |
tree | ea92ef1971ffaa72c29bf16904906bc1841654c7 /app/scripts/lib/ens-ipfs/setup.js | |
parent | 681f3f67b89b64fc837df1103198b641c7e7b2d6 (diff) | |
parent | 9a658ee53d1f75ce07c33581ac1189fa8c4fd173 (diff) | |
download | tangerine-wallet-browser-d83770354636b8c4d933903d1e19bc9733f15a4c.tar tangerine-wallet-browser-d83770354636b8c4d933903d1e19bc9733f15a4c.tar.gz tangerine-wallet-browser-d83770354636b8c4d933903d1e19bc9733f15a4c.tar.bz2 tangerine-wallet-browser-d83770354636b8c4d933903d1e19bc9733f15a4c.tar.lz tangerine-wallet-browser-d83770354636b8c4d933903d1e19bc9733f15a4c.tar.xz tangerine-wallet-browser-d83770354636b8c4d933903d1e19bc9733f15a4c.tar.zst tangerine-wallet-browser-d83770354636b8c4d933903d1e19bc9733f15a4c.zip |
Merge pull request #6402 from pldespaigne/issue#5742_update_ens_resolver_to_eip_1577
✔️ Issue #5742 update ens resolver to eip 1577
Diffstat (limited to 'app/scripts/lib/ens-ipfs/setup.js')
-rw-r--r-- | app/scripts/lib/ens-ipfs/setup.js | 30 |
1 files changed, 14 insertions, 16 deletions
diff --git a/app/scripts/lib/ens-ipfs/setup.js b/app/scripts/lib/ens-ipfs/setup.js index df756d0f7..82679db5d 100644 --- a/app/scripts/lib/ens-ipfs/setup.js +++ b/app/scripts/lib/ens-ipfs/setup.js @@ -37,27 +37,25 @@ function setupEnsIpfsResolver ({ provider }) { async function attemptResolve ({ tabId, name, path, search }) { extension.tabs.update(tabId, { url: `loading.html` }) + let url = `https://manager.ens.domains/name/${name}` try { - const ipfsContentId = await resolveEnsToIpfsContentId({ provider, name }) - const url = `https://gateway.ipfs.io/ipfs/${ipfsContentId}${path}${search || ''}` - try { - // check if ipfs gateway has result - const response = await fetch(url, { method: 'HEAD' }) - // if failure, redirect to 404 page - if (response.status !== 200) { - extension.tabs.update(tabId, { url: '404.html' }) - return + const {type, hash} = await resolveEnsToIpfsContentId({ provider, name }) + if (type === 'ipfs-ns') { + const resolvedUrl = `https://gateway.ipfs.io/ipfs/${hash}${path}${search || ''}` + try { + // check if ipfs gateway has result + const response = await fetch(resolvedUrl, { method: 'HEAD' }) + if (response.status === 200) url = resolvedUrl + } catch (err) { + console.warn(err) } - // otherwise redirect to the correct page - extension.tabs.update(tabId, { url }) - } catch (err) { - console.warn(err) - // if HEAD fetch failed, redirect so user can see relevant error page - extension.tabs.update(tabId, { url }) + } else if (type === 'swarm-ns') { + url = `https://swarm-gateways.net/bzz:/${hash}${path}${search || ''}` } } catch (err) { console.warn(err) - extension.tabs.update(tabId, { url: `error.html?name=${name}` }) + } finally { + extension.tabs.update(tabId, { url }) } } } |