UNPKG

qwik

Version:

qwik switch package with setLevel module

163 lines (108 loc) 3.51 kB
var req = require("./qwik.js"); //global variable to use functions in this class var lev = {}; //method: setLevel //make sure the user enters a number between 0 and 100 exports.setLevel = function(id, level){ const url = "http://localhost:2020/"; var at = id[0]; if(at !== "@"){ at = '@'; var newID = at + id; var id_validate = req.validateInput(newID); if( id_validate !== true){ if(level <= 100 && level >= 0){ //var lev = {}; lev[newID]=level; console.log(lev); var h; h = http_get(url, lev, null); console.log(h); return lev; }//end if level else{ console.log("Error, please enter a number between 0 and 100 including 0 or 100"); }//end else }//end if id_validate }//end if check for @ symbol else{ id_validate = req.validateInput(id); if( id_validate !== true){ //if( level_validate !== true){ if(level <= 100 && level >= 0){ lev = {}; lev[id]=level; console.log(lev); h = http_get(url, lev, null); console.log(h); return lev; }//end if level else{ console.log("Error, please enter a number between 0 and 100 including 0 or 100"); }//end else }//end if id_validate }//end final else }; //================================================================================================================= //validate input function ///^[a-z]{0,10}$/ exports.validateInput =function(validate){ var i = /^[0-9a-fA-F]{07}$/; return i.test(validate); }; /* exports.validateLevel =function(validate){ var i = /^[0-9]{1,3}$/; return i.test(validate); }; */ //================================================================================================================= //get level function exports.get_level = function(id){ const url = "http://localhost:2020/"; console.log("get level"); lev = {}; lev[id]; console.log(lev); var h = http_get(url, lev, null); console.log(h); return lev; }; //================================================================================================================== //http_get modified function http_get(host, data, cb) { var p = ""; for(var i in data) { p += i + '=' + data[i]; } var url = host + p;// + '&ep=' + new Date().getTime(); if(host.indexOf('https:') !== -1) var http = require('https'); else var http = require('http'); var req = http.get(url, function(res) { res.setEncoding('utf8'); var body = ''; res.on('data', function(d) { body += d; }); res.on('end', function(chunk) { if(cb) cb(body); }); }); req.on('error', function(e) { console.log("http_get error: " + e.message); if(cb) cb(null); }); //30 sec timeout req.setTimeout(30000, function() { console.log("http_get timeout"); req.abort(); //error gets called }); return url; } //=================================================================================================================