diff options
Diffstat (limited to 'yarrow.cgi')
-rwxr-xr-x | yarrow.cgi | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/yarrow.cgi b/yarrow.cgi new file mode 100755 index 0000000..7543f42 --- /dev/null +++ b/yarrow.cgi @@ -0,0 +1,29 @@ +#!/usr/bin/env lua5.1 + +local marigold = require 'marigold-cgi.marigold' +local h = marigold.h +local b64 = require '3rdparty.base64' +local json = require '3rdparty.json' +local draw = require 'draw' + + +local function error(message) + print('Content-type: text/plain\n') + print(string.format('ERROR: %s', message)) + os.exit(1) +end + + +-- get statistics +local metavars = marigold.get_metavars() +local query = marigold.decode_query(metavars.query_string or '') +if not query.statistics then + error('no statistics submitted!') +end +local statistics = json.decode(b64.decode(query.statistics)) + + +-- create & respond with image +local svg = draw.draw(statistics) +print('Content-type: image/svg+xml\n') +print(svg) |