1 let captchagen = require('captchagen')
2 let util = require('util')
3 let XDate = require('xdate')
6 let session_cookie = await _require('/session_cookie.jst')
8 let captcha = captchagen.create()
11 // initialize env.session_key, set cookie in env.response
12 let transaction = await env.site.database.Transaction()
13 let session = await session_cookie(env, transaction)
15 // store captcha text in the session for validation when form submitted
16 let expires = new XDate()
20 transaction.json_to_logjson(
23 expires: expires.getTime()
28 await transaction.commit()
32 let captcha_buffer = util.promisify(captcha.buffer).bind(captcha)
33 env.site.serve(env, 200, await captcha_buffer(), 'verification_image.png.jst')