# HG changeset patch # User Kim Alvefur # Date 1445611965 -7200 # Node ID 439711709d29cdec42ba1589e0d12a5a07346e54 # Parent 4c4a4191b8253f4ca8baa3743fe10660601f4f8d mod_auth_http_async: Wrap up async http request in a function diff -r 4c4a4191b825 -r 439711709d29 mod_auth_http_async/mod_auth_http_async.lua --- a/mod_auth_http_async/mod_auth_http_async.lua Fri Oct 23 16:49:31 2015 +0200 +++ b/mod_auth_http_async/mod_auth_http_async.lua Fri Oct 23 16:52:45 2015 +0200 @@ -18,25 +18,28 @@ local api_base = module:get_option_string("http_auth_url", ""):gsub("$host", host); if api_base == "" then error("http_auth_url required") end +local function async_http_request(url, ex); + local wait, done = waiter(); + + local content, code, request, response; + local ret; + function cb(content_, code_, request_, response_) + content, code, request, response = content_, code_, request_, response_; + done(); + end + wait(); + return content, code, request, response; +end + local provider = {}; function provider.test_password(username, password) log("debug", "test password for user %s at host %s", username, host); - local wait, done = waiter(); - local code = -1; - http.request(api_base:gsub("$user", username), { - headers = { - Authorization = "Basic "..base64(username..":"..password); - }; - }, - function(body, _code) - code = _code; - done(); - end); - - wait(); + local _, code = async_http_request(api_base:gsub("$user", username), { + headers = { Authorization = "Basic "..base64(username..":"..password); }; + }); if code >= 200 and code <= 299 then return true;