webtty: switch upward protocol to JSON

Switch the client-to-server messages from the HTML forms format to
JSON (for the webtty app).  Message numbers are sent but not yet used.
This commit is contained in:
John "Elwin" Edwards 2012-05-13 20:50:13 -07:00
parent 32127f8b77
commit 090e02ed59
2 changed files with 24 additions and 23 deletions

View file

@ -144,22 +144,14 @@ function urlDec(encstr) {
/* Returns the contents of a form */
function getFormValues(formtext) {
var pairstrs = formtext.split("&");
var data = {};
for (var i = 0; i < pairstrs.length; i++)
{
var eqsign = pairstrs[i].indexOf("=");
if (eqsign > 0) {
rawname = pairstrs[i].slice(0, eqsign);
rawval = pairstrs[i].slice(eqsign + 1);
name = urlDec(rawname);
val = urlDec(rawval);
if (!(name in data))
data[name] = [];
data[name].push(val);
}
var jsonobj;
try {
jsonobj = JSON.parse(formtext);
} catch (e) {
if (e instanceof SyntaxError)
return null;
}
return data;
return jsonobj;
}
function login(req, res, formdata) {
@ -298,14 +290,14 @@ function handler(req, res) {
sendError(res, 1);
return;
}
if (formdata["quit"] == "quit") {
if (formdata["t"] == "q") {
/* The client wants to quit. */
// FIXME need to send a message back to the client
cterm.close();
}
else if (formdata["keys"]) {
else if (formdata["t"] == "d" && typeof(formdata["d"]) == "string") {
/* process the keys */
hexstr = formdata["keys"][0].replace(/[^0-9a-f]/gi, "");
hexstr = formdata["d"].replace(/[^0-9a-f]/gi, "");
if (hexstr.length % 2 != 0) {
sendError(res, 2);
return;