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)