mirror of
https://github.com/logsol/chuck.js.git
synced 2026-05-11 10:37:34 +00:00
fixed #58
This commit is contained in:
parent
d83376d5c7
commit
810a74a28b
13 changed files with 445 additions and 281 deletions
|
|
@ -5,48 +5,65 @@ define([
|
|||
|
||||
function (Nc, ProtocolHelper) {
|
||||
|
||||
function Api(coordinator) {
|
||||
this.coordinator = coordinator;
|
||||
this.isError = false;
|
||||
this.output = null;
|
||||
}
|
||||
function Api(coordinator) {
|
||||
this.coordinator = coordinator;
|
||||
this.isError = false;
|
||||
this.output = null;
|
||||
}
|
||||
|
||||
Api.prototype.handleCall = function(queryParameters) {
|
||||
Api.prototype.handleCall = function(queryParameters) {
|
||||
|
||||
var command;
|
||||
try {
|
||||
var message = JSON.parse(queryParameters);
|
||||
command = message.command;
|
||||
} catch(e) {
|
||||
console.error(e)
|
||||
}
|
||||
var command,
|
||||
output = null;
|
||||
|
||||
try {
|
||||
var message = JSON.parse(queryParameters);
|
||||
command = message.command;
|
||||
} catch(e) {
|
||||
this.isError = true;
|
||||
output = "JSON syntax error";
|
||||
console.error(e)
|
||||
}
|
||||
|
||||
var output = null;
|
||||
switch(command) {
|
||||
case "getChannels":
|
||||
output = this.coordinator.getChannels();
|
||||
break;
|
||||
default:
|
||||
this.isError = true;
|
||||
output = "Command not found";
|
||||
break;
|
||||
}
|
||||
switch(command) {
|
||||
case "getChannels":
|
||||
output = this.coordinator.getChannels();
|
||||
break;
|
||||
case "createChannel":
|
||||
// FIXME: sanitize input
|
||||
output = this.createChannel(message.options);
|
||||
break;
|
||||
default:
|
||||
this.isError = true;
|
||||
output = "Command not found";
|
||||
break;
|
||||
}
|
||||
|
||||
this.output = output;
|
||||
}
|
||||
this.output = output;
|
||||
}
|
||||
|
||||
Api.prototype.getOutput = function() {
|
||||
var output = {};
|
||||
var key = this.isError ? "error" : "success";
|
||||
output[key] = this.output;
|
||||
return JSON.stringify(output);
|
||||
|
||||
};
|
||||
Api.prototype.createChannel = function(options) {
|
||||
var result = this.coordinator.createChannel(options);
|
||||
if(result !== false) {
|
||||
return result;
|
||||
} else {
|
||||
this.isError = true;
|
||||
return "Could not create channel, name might already exist.";
|
||||
}
|
||||
};
|
||||
|
||||
Api.prototype.getContentType = function() {
|
||||
return "application/json";
|
||||
};
|
||||
Api.prototype.getOutput = function() {
|
||||
var output = {};
|
||||
var key = this.isError ? "error" : "success";
|
||||
output[key] = this.output;
|
||||
return JSON.stringify(output);
|
||||
|
||||
};
|
||||
|
||||
Api.prototype.getContentType = function() {
|
||||
return "application/json";
|
||||
};
|
||||
|
||||
return Api;
|
||||
return Api;
|
||||
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue