Mercurial > prosody-modules
diff mod_s2s_auth_monkeysphere/mod_s2s_auth_monkeysphere.lua @ 2186:a100f4a720cb
mod_s2s_auth_monkeysphere: Query Monkeysphere asynchronously if util.async is available
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Mon, 30 May 2016 16:44:31 +0200 |
parents | cfe360d9d82c |
children | 8d1141025b43 |
line wrap: on
line diff
--- a/mod_s2s_auth_monkeysphere/mod_s2s_auth_monkeysphere.lua Sat May 28 16:55:43 2016 +0200 +++ b/mod_s2s_auth_monkeysphere/mod_s2s_auth_monkeysphere.lua Mon May 30 16:44:31 2016 +0200 @@ -6,10 +6,25 @@ local json_encode, json_decode = json.encode, json.decode; local gettime = require"socket".gettime; local serialize = require"util.serialization".serialize; +local have_async, async = pcall(require, "util.async"); local msva_url = assert(os.getenv"MONKEYSPHERE_VALIDATION_AGENT_SOCKET", "MONKEYSPHERE_VALIDATION_AGENT_SOCKET is unset, please set it").."/reviewcert"; +if have_async then + local _http_request = require "net.http".request; + function http_request(url, ex) + local wait, done = async.waiter(); + local content, code, request, response; + _http_request(url, ex, function (_content, _code, _request, _response) + content, code, request, response = _content, _code, _request, _response; + done(); + end); + wait(); + return content, code, request, response; + end +end + local function check_with_monkeysphere(event) local session, host, cert = event.session, event.host, event.cert; local result = {};