Software /
code /
prosody-modules
Changeset
2811:39156d6f7268
mod_auth_http_async: Allow LuaSocket to pollute the global scope (fixes #1033)
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Tue, 31 Oct 2017 19:31:54 +0100 |
parents | 2810:9a3e51f348fe |
children | 2812:fd4a5ba12fa2 |
files | mod_auth_http_async/mod_auth_http_async.lua |
diffstat | 1 files changed, 12 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/mod_auth_http_async/mod_auth_http_async.lua Sat Oct 28 17:17:59 2017 +0200 +++ b/mod_auth_http_async/mod_auth_http_async.lua Tue Oct 31 19:31:54 2017 +0100 @@ -26,9 +26,17 @@ if rawget(_G, "base_parsed") == nil then rawset(_G, "base_parsed", false) end +if not have_async then -- FINE! Set your globals then + prosody.unlock_globals() + require "ltn12" + require "socket" + require "socket.http" + require "ssl.https" + prosody.lock_globals() +end local function async_http_auth(url, username, password) -module:log("debug", "async_http_auth()"); + module:log("debug", "async_http_auth()"); local http = require "net.http"; local wait, done = async.waiter(); local content, code, request, response; @@ -51,7 +59,8 @@ end local function sync_http_auth(url,username, password) -module:log("debug", "sync_http_auth()"); + module:log("debug", "sync_http_auth()"); + require "ltn12"; local http = require "socket.http"; local https = require "ssl.https"; local request; @@ -113,4 +122,4 @@ }); end -module:provides("auth", provider); \ No newline at end of file +module:provides("auth", provider);