data/sumomo/api_modules/test_script.js in sumomo-0.7.3 vs data/sumomo/api_modules/test_script.js in sumomo-0.8.0
- old
+ new
@@ -5,32 +5,56 @@
var finalhandler = require('finalhandler');
var http = require('http');
var url = require('url');
var merge = require('utils-merge');
var Router = require('router')
+var fs = require('fs')
// Simulated store
function Storage()
{
var store = {}
+ try
+ {
+ var store_contents = fs.readFileSync(".store")
+ store = JSON.parse(store_contents)
+ }
+ catch (e)
+ {
+ console.log("Error reading .store; will start with blank store")
+ console.log(e)
+ }
+
this.get = function(key, onComplete, onError)
{
if (store[key] === undefined)
{
- onError({err: "no_such_key"});
+ if (onError)
+ {
+ onError({err: "no_such_key"});
+ }
}
else
{
- onComplete(store[key]);
+ if (onComplete)
+ {
+ onComplete(store[key]);
+ }
}
}
this.set = function(key, value, onComplete, onError)
{
store[key] = value;
- onComplete(key);
+ fs.writeFile(".store", JSON.stringify(store), function()
+ {
+ if (onComplete)
+ {
+ onComplete(key);
+ }
+ })
}
return this;
}
@@ -53,9 +77,27 @@
res.statusCode = 404;
res.end(JSON.stringify({message: "File not found"}));
});
});
+
+function parseQuery(queryString) {
+ try
+ {
+ var res = JSON.parse(queryString)
+ return res;
+ }
+ catch(e) { }
+ var query = {};
+ var pairs = (queryString[0] === '?' ? queryString.substr(1) : queryString).split('&');
+ for (var i = 0; i < pairs.length; i++) {
+ var pair = pairs[i].split('=');
+ query[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1] || '');
+ }
+ return query;
+}
+
+{{ SCRIPT }}
// Simulate API Gateway Lambda Proxy Event
function prepare(handler)
{
return function(request, res)