ml-random-forest

node v10.24.1
version: 2.0.5
endpointsharetweet
require("ml-random-forest") var browserify = require('browserify'); function streamToString (stream) { const chunks = [] return new Promise((resolve, reject) => { stream.on('data', chunk => chunks.push(chunk)) stream.on('error', reject) stream.on('end', () => resolve(Buffer.concat(chunks).toString('utf8'))) }) } var cache={}; exports.endpoint = async function(request, response) { response.setHeader("Access-Control-Allow-Origin", "*"); response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); //return response.end('hello') var name=require('url').parse(request.url).pathname.substr(1) console.log("requested "+name) if(name===''){ console.log("empty request") return response.end("use module name in the url to recive it browserified"); } if(cache[name]){ response.setHeader('content-type', 'application/javascript'); res.setHeader('Cache-Control', 'public, max-age=345600'); // 4 days res.setHeader('Expires', new Date(Date.now() + 345600000).toUTCString()); console.log("usign cache") response.end(cache[name]); } else{ console.log("bundling ") try{ const result = await streamToString( browserify(require.resolve(name)).bundle() ) var id=result.match(/,\{\},\[(\d+)\]\);\s*$/)[1] cache[name]="(function(){ var require="+result+ "; "+name.replace(/[^a-zA-Z0-9]/g,' ').trim().replace(/ /g,'_')+"=require("+id+")}) ()" response.setHeader('content-type', 'application/javascript'); response.end(result); }catch(e){ console.log("bundling error "+e.stack) response.end(e.stack); } console.log("bundling done") } }
Loading…

no comments

    sign in to comment