Added status and leds API.
This commit is contained in:
67
handlers.js
67
handlers.js
@@ -43,31 +43,37 @@ function start(res, req) {
|
|||||||
'<h2>API</h2>'+
|
'<h2>API</h2>'+
|
||||||
'<ul>'+
|
'<ul>'+
|
||||||
'<li><a target="results" href="/cgi-bin/sleep">sleep</a></li>'+
|
'<li><a target="results" href="/cgi-bin/sleep">sleep</a></li>'+
|
||||||
'<li><a target="results" href="/cgi-bin/wakeup?silent=0">wakeup</a></li>'+
|
'<li><a target="results" href="/cgi-bin/wakeup?silent=0">wakeup</a> (<a target="results" href="/cgi-bin/wakeup?silent=1">silent</a>)</li>'+
|
||||||
'<li><a target="results" href="/cgi-bin/reboot">reboot</a></li>'+
|
'<li><a target="results" href="/cgi-bin/reboot">reboot</a></li>'+
|
||||||
|
'<li><a target="results" href="/cgi-bin/status">status</a></li>'+
|
||||||
'<li><a target="results" href="/cgi-bin/get_version">get_version</a></li>'+
|
'<li><a target="results" href="/cgi-bin/get_version">get_version</a></li>'+
|
||||||
'<li><a target="results" href="/cgi-bin/get_free_space">get_free_space</a></li>'+
|
'<li><a target="results" href="/cgi-bin/get_free_space">get_free_space</a></li>'+
|
||||||
|
'<li><a target="results" href="/cgi-bin/leds">leds</a></li>'+
|
||||||
'</ul>'+
|
'</ul>'+
|
||||||
'</body>'+
|
'</body>'+
|
||||||
'</html>';
|
'</html>';
|
||||||
|
|
||||||
res.writeHead(200, {'Content-Type' : 'text/html'})
|
res.writeHead(200, {'Content-Type' : 'text/html'});
|
||||||
res.write(body)
|
res.write(body);
|
||||||
res.end()
|
res.end();
|
||||||
log.trace('start: end')
|
log.trace('start: end');
|
||||||
}
|
}
|
||||||
exports.start = start
|
exports.start = start;
|
||||||
|
|
||||||
function sendResponse(res, data) {
|
function sendResponse(res, data) {
|
||||||
log.trace('sendResponse: ' + data);
|
log.trace('sendResponse: ' + data);
|
||||||
res.writeHead(200, {'Content-Type' : 'text/plain'})
|
res.writeHead(200, {'Content-Type': 'text/plain', 'Access-Control-Allow-Origin': '*'});
|
||||||
res.write(data)
|
res.write(data);
|
||||||
res.end()
|
res.end();
|
||||||
}
|
}
|
||||||
|
|
||||||
function getParameter(req, param) {
|
function getParameter(req, param, defaultValue) {
|
||||||
var qs = url.parse(req.url).query;
|
var qs = url.parse(req.url).query;
|
||||||
return querystring.parse(qs)[param];
|
var value = querystring.parse(qs)[param];
|
||||||
|
if (value === undefined) {
|
||||||
|
return defaultValue;
|
||||||
|
}
|
||||||
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
function sleep(res, req) {
|
function sleep(res, req) {
|
||||||
@@ -78,7 +84,7 @@ function sleep(res, req) {
|
|||||||
sendResponse(res, data1);
|
sendResponse(res, data1);
|
||||||
log.trace('sleep: end');
|
log.trace('sleep: end');
|
||||||
}
|
}
|
||||||
exports.sleep = sleep
|
exports.sleep = sleep;
|
||||||
|
|
||||||
function wakeup(res, req) {
|
function wakeup(res, req) {
|
||||||
log.trace('wakeup: begin');
|
log.trace('wakeup: begin');
|
||||||
@@ -87,7 +93,7 @@ function wakeup(res, req) {
|
|||||||
sendResponse(res, data);
|
sendResponse(res, data);
|
||||||
log.trace('wakeup: end');
|
log.trace('wakeup: end');
|
||||||
}
|
}
|
||||||
exports.wakeup = wakeup
|
exports.wakeup = wakeup;
|
||||||
|
|
||||||
function reboot(res, req) {
|
function reboot(res, req) {
|
||||||
log.trace('reboot: begin');
|
log.trace('reboot: begin');
|
||||||
@@ -95,7 +101,15 @@ function reboot(res, req) {
|
|||||||
sendResponse(res, data);
|
sendResponse(res, data);
|
||||||
log.trace('reboot: end');
|
log.trace('reboot: end');
|
||||||
}
|
}
|
||||||
exports.reboot = reboot
|
exports.reboot = reboot;
|
||||||
|
|
||||||
|
function status(res, req) {
|
||||||
|
log.trace('status: begin');
|
||||||
|
var data = '{"version":"201","ears_disabled":"0","sleep":"0","sleep_time":"0","led_color":"0000FF","led_pulse":"1","tts_cache_size":"4","usb_free_space":"-1","karotz_free_space":"148.4M","eth_mac":"00:00:00:00:00:00","wlan_mac":"01:23:45:67:89:AB","nb_tags":"4","nb_moods":"305","nb_sounds":"14","nb_stories":"0","karotz_percent_used_space":"37","usb_percent_used_space":""}';
|
||||||
|
sendResponse(res, data);
|
||||||
|
log.trace('status: end');
|
||||||
|
}
|
||||||
|
exports.status = status;
|
||||||
|
|
||||||
function get_version(res, req) {
|
function get_version(res, req) {
|
||||||
log.trace('get_version: begin');
|
log.trace('get_version: begin');
|
||||||
@@ -103,13 +117,32 @@ function get_version(res, req) {
|
|||||||
sendResponse(res, data);
|
sendResponse(res, data);
|
||||||
log.trace('get_version: end');
|
log.trace('get_version: end');
|
||||||
}
|
}
|
||||||
exports.get_version = get_version
|
exports.get_version = get_version;
|
||||||
|
|
||||||
function get_free_space(res, req) {
|
function get_free_space(res, req) {
|
||||||
log.trace('get_free_space: begin');
|
log.trace('get_free_space: begin');
|
||||||
var data = '{"karotz_percent_used_space":"45","usb_percent_used_space":"50"}';
|
var data = '{"karotz_percent_used_space":"37","usb_percent_used_space":"-1"}';
|
||||||
sendResponse(res, data);
|
sendResponse(res, data);
|
||||||
log.trace('get_free_space: end');
|
log.trace('get_free_space: end');
|
||||||
}
|
}
|
||||||
exports.get_free_space = get_free_space
|
exports.get_free_space = get_free_space;
|
||||||
|
|
||||||
|
function leds(res, req) {
|
||||||
|
log.trace('leds: begin');
|
||||||
|
var color = getParameter(req, "color", "00FF00");
|
||||||
|
var secondary_color = getParameter(req, "secondary_color", "000000");
|
||||||
|
var pulse = getParameter(req, "pulse", "0");
|
||||||
|
var no_memory = getParameter(req, "no_memory", "0");
|
||||||
|
var speed = getParameter(req, "speed", "");
|
||||||
|
|
||||||
|
var data = '{"color":"' + color +
|
||||||
|
'","secondary_color":"' + secondary_color +
|
||||||
|
'","pulse":"' + pulse +
|
||||||
|
'","no_memory":"' + no_memory +
|
||||||
|
'","speed":"' + speed +
|
||||||
|
'","return":"0"}';
|
||||||
|
sendResponse(res, data);
|
||||||
|
log.trace('leds: end');
|
||||||
|
}
|
||||||
|
exports.leds = leds;
|
||||||
|
|
||||||
|
2
index.js
2
index.js
@@ -36,8 +36,10 @@ handle['/cgi-bin'] = handlers.start;
|
|||||||
handle['/cgi-bin/sleep'] = handlers.sleep;
|
handle['/cgi-bin/sleep'] = handlers.sleep;
|
||||||
handle['/cgi-bin/wakeup'] = handlers.wakeup;
|
handle['/cgi-bin/wakeup'] = handlers.wakeup;
|
||||||
handle['/cgi-bin/reboot'] = handlers.reboot;
|
handle['/cgi-bin/reboot'] = handlers.reboot;
|
||||||
|
handle['/cgi-bin/status'] = handlers.status;
|
||||||
handle['/cgi-bin/get_version'] = handlers.get_version;
|
handle['/cgi-bin/get_version'] = handlers.get_version;
|
||||||
handle['/cgi-bin/get_free_space'] = handlers.get_free_space;
|
handle['/cgi-bin/get_free_space'] = handlers.get_free_space;
|
||||||
|
handle['/cgi-bin/leds'] = handlers.leds;
|
||||||
|
|
||||||
log.info('OpenKarotz Emulator');
|
log.info('OpenKarotz Emulator');
|
||||||
server.start(router.route, handle);
|
server.start(router.route, handle);
|
||||||
|
Reference in New Issue
Block a user