Spaces:
Sleeping
Sleeping
Upload server.js
Browse files
server.js
CHANGED
|
@@ -115,6 +115,7 @@ function jsWrapper(serverBase, baseUrl, transpiledCode, needRegenerator) {
|
|
| 115 |
safeBaseUrl +
|
| 116 |
';' +
|
| 117 |
'var __es5_active=true;' +
|
|
|
|
| 118 |
'function t(v){return (v===null||v===undefined)?\'\':String(v);}' +
|
| 119 |
'function baseDir(u){u=t(u);u=u.replace(/[?#].*$/,"");return u.replace(/[^\\/]*$/,"");}' +
|
| 120 |
'var __es5_base_dir=baseDir(__es5_base);' +
|
|
@@ -127,7 +128,7 @@ function jsWrapper(serverBase, baseUrl, transpiledCode, needRegenerator) {
|
|
| 127 |
'function proxyRaw(u){var a=abs(u);if(!/^https?:\\/\\//i.test(a))return u;if(__es5_server&&a.indexOf(__es5_server)===-1){return __es5_server+"/r?url="+encodeURIComponent(a).replace(/%3A/gi, ":").replace(/%2F/gi, "/");}return a;}' +
|
| 128 |
'function mapArr(items, fn){if(!items||!items.length)return items;for(var i=0;i<items.length;i++){items[i]=fn(items[i]);}return items;}' +
|
| 129 |
'try{' +
|
| 130 |
-
'if(
|
| 131 |
'if(Lampa.Utils.putScriptAsync&&!Lampa.Utils.putScriptAsync.__es5_proxy){var o=Lampa.Utils.putScriptAsync;var w=function(items,complite,error,success,show_logs){try{items=mapArr(items,proxyJs);}catch(e){}return o.call(this,items,complite,error,success,show_logs);};w.__es5_proxy=1;Lampa.Utils.putScriptAsync=w;}' +
|
| 132 |
'if(Lampa.Utils.putScript&&!Lampa.Utils.putScript.__es5_proxy){var o2=Lampa.Utils.putScript;var w2=function(items,complite,error,success,show_logs){try{items=mapArr(items,proxyJs);}catch(e){}return o2.call(this,items,complite,error,success,show_logs);};w2.__es5_proxy=1;Lampa.Utils.putScript=w2;}' +
|
| 133 |
'if(Lampa.Utils.putStyle&&!Lampa.Utils.putStyle.__es5_proxy){var o3=Lampa.Utils.putStyle;var w3=function(items,complite,error){try{items=mapArr(items,proxyCss);}catch(e){}return o3.call(this,items,complite,error);};w3.__es5_proxy=1;Lampa.Utils.putStyle=w3;}' +
|
|
@@ -173,6 +174,33 @@ function jsWrapper(serverBase, baseUrl, transpiledCode, needRegenerator) {
|
|
| 173 |
'};' +
|
| 174 |
'return xhr;' +
|
| 175 |
'};' +
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 176 |
'try{' +
|
| 177 |
'var __mock_script = document.createElement("script");' +
|
| 178 |
'__mock_script.src = __es5_base;' +
|
|
|
|
| 115 |
safeBaseUrl +
|
| 116 |
';' +
|
| 117 |
'var __es5_active=true;' +
|
| 118 |
+
'var Lampa=window.Lampa;' +
|
| 119 |
'function t(v){return (v===null||v===undefined)?\'\':String(v);}' +
|
| 120 |
'function baseDir(u){u=t(u);u=u.replace(/[?#].*$/,"");return u.replace(/[^\\/]*$/,"");}' +
|
| 121 |
'var __es5_base_dir=baseDir(__es5_base);' +
|
|
|
|
| 128 |
'function proxyRaw(u){var a=abs(u);if(!/^https?:\\/\\//i.test(a))return u;if(__es5_server&&a.indexOf(__es5_server)===-1){return __es5_server+"/r?url="+encodeURIComponent(a).replace(/%3A/gi, ":").replace(/%2F/gi, "/");}return a;}' +
|
| 129 |
'function mapArr(items, fn){if(!items||!items.length)return items;for(var i=0;i<items.length;i++){items[i]=fn(items[i]);}return items;}' +
|
| 130 |
'try{' +
|
| 131 |
+
'if(Lampa&&Lampa.Utils){' +
|
| 132 |
'if(Lampa.Utils.putScriptAsync&&!Lampa.Utils.putScriptAsync.__es5_proxy){var o=Lampa.Utils.putScriptAsync;var w=function(items,complite,error,success,show_logs){try{items=mapArr(items,proxyJs);}catch(e){}return o.call(this,items,complite,error,success,show_logs);};w.__es5_proxy=1;Lampa.Utils.putScriptAsync=w;}' +
|
| 133 |
'if(Lampa.Utils.putScript&&!Lampa.Utils.putScript.__es5_proxy){var o2=Lampa.Utils.putScript;var w2=function(items,complite,error,success,show_logs){try{items=mapArr(items,proxyJs);}catch(e){}return o2.call(this,items,complite,error,success,show_logs);};w2.__es5_proxy=1;Lampa.Utils.putScript=w2;}' +
|
| 134 |
'if(Lampa.Utils.putStyle&&!Lampa.Utils.putStyle.__es5_proxy){var o3=Lampa.Utils.putStyle;var w3=function(items,complite,error){try{items=mapArr(items,proxyCss);}catch(e){}return o3.call(this,items,complite,error);};w3.__es5_proxy=1;Lampa.Utils.putStyle=w3;}' +
|
|
|
|
| 174 |
'};' +
|
| 175 |
'return xhr;' +
|
| 176 |
'};' +
|
| 177 |
+
// Локальный шим Lampa.Reguest — только для кода этого плагина.
|
| 178 |
+
// network.silent(url,...) / network["native"](url,...) — основной способ,
|
| 179 |
+
// которым плагины (в т.ч. этот) реально ходят за данными, минуя fetch/XHR напрямую.
|
| 180 |
+
'try{' +
|
| 181 |
+
'if(Lampa&&Lampa.Reguest){' +
|
| 182 |
+
'var _RealReguest=Lampa.Reguest;' +
|
| 183 |
+
'var _reguestMethods=["silent","native","send","get","post","ajax"];' +
|
| 184 |
+
'var ReguestShim=function(){' +
|
| 185 |
+
'var inst=new _RealReguest();' +
|
| 186 |
+
'for(var i=0;i<_reguestMethods.length;i++){' +
|
| 187 |
+
'(function(mName){' +
|
| 188 |
+
'var orig=inst[mName];' +
|
| 189 |
+
'if(typeof orig==="function"){' +
|
| 190 |
+
'inst[mName]=function(url){' +
|
| 191 |
+
'var args=Array.prototype.slice.call(arguments);' +
|
| 192 |
+
'try{args[0]=proxyRaw(url);}catch(e){}' +
|
| 193 |
+
'return orig.apply(inst,args);' +
|
| 194 |
+
'};' +
|
| 195 |
+
'}' +
|
| 196 |
+
'})(_reguestMethods[i]);' +
|
| 197 |
+
'}' +
|
| 198 |
+
'return inst;' +
|
| 199 |
+
'};' +
|
| 200 |
+
'Lampa=Object.create(Lampa);' +
|
| 201 |
+
'Lampa.Reguest=ReguestShim;' +
|
| 202 |
+
'}' +
|
| 203 |
+
'}catch(e){}' +
|
| 204 |
'try{' +
|
| 205 |
'var __mock_script = document.createElement("script");' +
|
| 206 |
'__mock_script.src = __es5_base;' +
|