UNPKG

qwik

Version:

qwik switch package with setLevel module

299 lines (205 loc) 6.36 kB
var req = require("./index.js"); //global variable to use functions in this class var lev = {}; exports.printMsg = function() { console.log("This is my 1st module for qwik switch"); }; //============================================================================== //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 }; //================================================================================================================= //============================================================================== //method: setLevel demo //make sure the user enters a number between 0 and 100 exports.setLeveldemo = function(id, level){ // var http1 = require('http_get'); const url = "http://localhost:2020/"; var id_validate = req.validateInput(id); // var level_validate = req.validateLevel(level); if( id_validate !== true){ //if( level_validate !== true){ if(level <= 100 && level >= 0){ var lev = {}; lev[id]=level; // lev.concat(id, '=', 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 }; //================================================================================================================= //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(){ 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; } //================================================================================================================== //exaple for user input app /* exports.userInput = function(){ var prompt = require('prompt'); var id; var level; var properties = [ { name: 'id', validator: /^[a-zA-Z\s\-]+$/, warning: 'Username must be only letters, spaces, or dashes' }, { name: 'level', hidden: false }, ]; prompt.start(); prompt.get(properties, function (err, result) { if (err) { return onErr(err); } console.log('Command-line input received:'); console.log(' ID: ' + result.id); console.log(' level : ' + result.level); }); function onErr(err) { console.log(err); return 1; } }; *///do not delete //============================================================================= /* //http_get default from slade collins exports.http_get1 = function(host, data, cb) { var p = ""; for(var i in data) { p += '&' + encodeURIComponent(i) + '=' + encodeURIComponent(data[i]); } var url = host + '?' + p + '&ep=' + new Date().getTime(); if(host.indexOf('https:') !== -1) var http = require('https'); else http = require('http'); //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 }); process.on('uncaughtException', function (err) { console.log(err); }); }; */ //=============================================================================