//////////////////////////////////////////////////////////////////////// // Websocket API //////////////////////////////////////////////////////////////////////// // references: // https://stackoverflow.com/questions/52783655/use-curl-with-chrome-remote-debugging // https://github.com/vi/websocat var SHELL = require("lib/shell"); var SYS = require("lib/system"); var FILE = require("lib/file"); var WebsocketObject = function() { this.binPath = "bin\\websocat_nossl_win64"; this.isSSL = false; this.enableSSL = function() { this.isSSL = true; }; this.disableSSL = function() { this.isSSL = false; }; this.setBinPath = function(path) { if (typeof(path) !== "undefined") { this.binPath = path; } else { var arch = SYS.getArch(); if (!this.isSSL) { if(arch.indexOf("64") > -1) { this.binPath = "bin\\websocat_nossl_win64"; } else { this.binPath = "bin\\websocat_nossl_win64"; } } else { if(arch.indexOf("64") > -1) { this.binPath = "bin\\websocat_win64"; } else { this.binPath = "bin\\websocat_win32"; } } } }; this.send = function(uri, msg) { var FN = "stdin.txt"; try { FILE.writeFile(FN, msg); return SHELL.run([ this.binPath, "-n1", "-t", uri, "<", FN ]); } catch (e) { console.error("WebsocketObject.send() -> " + e.message); } }; this.create = function() { this.setBinPath(); }; this.create(); }; exports.VERSIONINFO = "Websocket Lib (websocket.js) version 0.1"; exports.global = global; exports.require = global.require; exports.create = function() { return new WebsocketObject(); };