aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Wild <mwild1@gmail.com>2013-03-20 20:31:02 +0000
committerMatthew Wild <mwild1@gmail.com>2013-03-20 20:31:02 +0000
commitf7e05e902acb3b0b5950d2ffcf68f4e8778f7d48 (patch)
treed047ec3165afed6c6c0c77ede044663a0e9cab25
parent04b647a6e847fa6ace495f3c8c7a2e9a5425fb1a (diff)
downloadprosody-f7e05e902acb3b0b5950d2ffcf68f4e8778f7d48.tar.gz
prosody-f7e05e902acb3b0b5950d2ffcf68f4e8778f7d48.zip
net.http: Allow passing an SSL context or options table to be used for HTTPS requests (thanks daurnimator)
-rw-r--r--net/http.lua7
1 files changed, 6 insertions, 1 deletions
diff --git a/net/http.lua b/net/http.lua
index 273eee09..9ed837e2 100644
--- a/net/http.lua
+++ b/net/http.lua
@@ -188,7 +188,12 @@ function request(u, ex, callback)
return nil, err;
end
- req.handler, req.conn = server.wrapclient(conn, req.host, port, listener, "*a", using_https and { mode = "client", protocol = "sslv23" });
+ local sslctx = false;
+ if using_https then
+ sslctx = ex and ex.sslctx or { mode = "client", protocol = "sslv23" };
+ end
+
+ req.handler, req.conn = server.wrapclient(conn, req.host, port, listener, "*a", sslctx);
req.write = function (...) return req.handler:write(...); end
req.callback = function (content, code, request, response) log("debug", "Calling callback, status %s", code or "---"); return select(2, xpcall(function () return callback(content, code, request, response) end, handleerr)); end