Support downloading Swarm objects via RPC

pull/1/head
Alex Beregszaszi 8 years ago
parent ca2301de84
commit 7359d27374
  1. 17
      src/app.js

@ -516,12 +516,23 @@ var run = function () {
}) })
} }
function handleSwarmImport (url, cb) {
swarmgw.get(url, function (err, content) {
// retry if this failed and we're connected via RPC
if (err && !executionContext.isVM()) {
var web3 = executionContext.web3()
web3.swarm.download(url, cb)
} else {
cb(err, content)
}
})
}
function handleImportCall (url, cb) { function handleImportCall (url, cb) {
var match var match
if (files.exists(url)) { if (files.exists(url)) {
cb(null, files.get(url)) cb(null, files.get(url))
} else if ((githubMatch = /^(https?:\/\/)?(www.)?github.com\/([^/]*\/[^/]*)\/(.*)/.exec(url))) { } else if ((match = /^(https?:\/\/)?(www.)?github.com\/([^/]*\/[^/]*)\/(.*)/.exec(url))) {
handleGithubCall(githubMatch[3], githubMatch[4], function (err, content) { handleGithubCall(match[3], match[4], function (err, content) {
if (err) { if (err) {
cb('Unable to import "' + url + '": ' + err) cb('Unable to import "' + url + '": ' + err)
return return
@ -533,7 +544,7 @@ var run = function () {
}) })
} else if ((match = /^(bzzr?:\/\/?.*)$/.exec(url))) { } else if ((match = /^(bzzr?:\/\/?.*)$/.exec(url))) {
$('#output').append($('<div/>').append($('<pre/>').text('Loading ' + url + ' ...'))) $('#output').append($('<div/>').append($('<pre/>').text('Loading ' + url + ' ...')))
swarmgw.get(match[1], function (err, content) { handleSwarmImport(match[1], function (err, content) {
if (err) { if (err) {
cb('Unable to import "' + url + '": ' + err) cb('Unable to import "' + url + '": ' + err)
return return

Loading…
Cancel
Save