mirror of
https://github.com/gnh1201/welsonjs.git
synced 2024-11-26 23:41:42 +00:00
82 lines
1.6 KiB
JavaScript
82 lines
1.6 KiB
JavaScript
////////////////////////////////////////////////////////////////////////
|
|
// 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 + "\n", "utf-8");
|
|
console.log(msg);
|
|
sleep(1);
|
|
|
|
return SHELL.exec([
|
|
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();
|
|
};
|