-- Leo's gemini proxy
-- Connecting to git.thebackupbox.net:1965...
-- Connected
-- Sending request
-- Meta line: 20 text/gemini
repo: janusweb action: commit revision: path_from: revision_from: ea43c3598744569509f10c4547aa1b6b70c6a2ce: path_to: revision_to:
commit ea43c3598744569509f10c4547aa1b6b70c6a2ce Author: James Baicoianu <james_github@baicoianu.com> Date: Sun Apr 17 13:19:52 2016 -0700 Properly handle file: urls, better baseurl handling, fixed default page translator diff --git a/scripts/room.js b/scripts/room.js
--- a/scripts/room.js +++ b/scripts/room.js @@ -160,15 +160,18 @@ elation.require([ this.debugwindow.settitle(this.properties.url); this.debugwindow.setcontent(content); } - this.load = function(url) { + this.load = function(url, baseurloverride) { if (!url) { url = this.properties.url; } else { this.properties.url = url; } - var baseurl = url.split('/'); - if (baseurl.length > 3) baseurl.pop(); - baseurl = baseurl.join('/') + '/'; + var baseurl = baseurloverride; + if (!baseurl) { + baseurl = url.split('/'); + if (baseurl.length > 3) baseurl.pop(); + baseurl = baseurl.join('/') + '/'; + } this.baseurl = baseurl; this.jsobjects = {}; @@ -199,22 +202,22 @@ elation.require([ //'X-Requested-With':'JanusWeb Client' }, callback: elation.bind(this, function(data, xhr) { - this.parseSource(data); - - var responseURL = xhr.getResponseHeader('X-Final-URL'); - if (!responseURL) { - responseURL = xhr.responseURL.replace(proxyurl, ''); - } - if (responseURL != this.properties.url) { - var url = responseURL; - var baseurl = url.split('/'); + if (this.parseSource(data)) { + var responseURL = xhr.getResponseHeader('X-Final-URL'); + if (!responseURL) { + responseURL = xhr.responseURL.replace(proxyurl, ''); + } + if (responseURL != this.properties.url) { + var url = responseURL; + if (false && !baseurloverride) { + baseurl = url.split('/'); baseurl.pop(); baseurl = baseurl.join('/') + '/'; - //root = elation.engine.instances.default.systems.world.children.default; - this.baseurl = baseurl; - this.properties.url = url; + this.baseurl = baseurl; + } + //this.properties.url = url; + } } - }) }); } @@ -229,15 +232,18 @@ elation.require([ } else { this.setTitle(null); } - + var datapath = elation.config.get('janusweb.datapath', '/media/janusweb'); var m = data.match(re); if (m) { this.roomsrc = m[0]; this.parseFireBox(this.roomsrc); + return true; } else { console.log('no firebox room, load the translator'); - this.load(self.location.origin + '/media/janusweb/assets/translator/web/Parallelogram.html'); + var transpath = datapath + 'assets/translator/web/'; + this.load(transpath + 'Parallelogram.html', transpath ); } + return false; } this.parseFireBox = function(fireboxsrc) { @@ -511,12 +517,17 @@ elation.require([ var videoassets = this.getAsArray(elation.utils.arrayget(assetxml, "_children.assetvideo", [])); var websurfaceassets = this.getAsArray(elation.utils.arrayget(assetxml, "_children.assetwebsurface", [])); var assetlist = []; - imageassets.forEach(function(n) { assetlist.push({ assettype:'image', name:n.id, src: n.src }); }); + var datapath = elation.config.get('janusweb.datapath', '/media/janusweb'); + imageassets.forEach(function(n) { + var src = (n.src.match(/^file:/) ? n.src.replace(/^file:/, datapath) : n.src); + assetlist.push({ assettype:'image', name:n.id, src: src }); + }); videoassets.forEach(elation.bind(this, function(n) { + var src = (n.src.match(/^file:/) ? n.src.replace(/^file:/, datapath) : n.src); assetlist.push({ assettype:'video', name:n.id, - src: n.src, + src: src, sbs3d: n.sbs3d == 'true', ou3d: n.ou3d == 'true', auto_play: n.auto_play == 'true', @@ -529,8 +540,8 @@ elation.require([ var baseurl = this.baseurl; objectassets.forEach(function(n) { if (n.src) { - var src = (n.src.match(/^file:/) ? n.src.replace(/^file:/, '/media/janusweb/') : n.src); - var mtlsrc = (n.mtl && n.mtl.match(/^file:/) ? n.mtl.replace(/^file:/, '/media/janusweb/') : n.mtl); + var src = (n.src.match(/^file:/) ? n.src.replace(/^file:/, datapath) : n.src); + var mtlsrc = (n.mtl && n.mtl.match(/^file:/) ? n.mtl.replace(/^file:/, datapath) : n.mtl); if (mtlsrc && !mtlsrc.match(/^https?:/)) mtlsrc = baseurl + mtlsrc; var srcparts = src.split(' '); src = srcparts[0];
-----END OF PAGE-----
-- Response ended
-- Page fetched on Sun Jun 2 17:34:46 2024