From 375e615103568f5de0f2f8722768f48850760a29 Mon Sep 17 00:00:00 2001
From: Matthew Wild <mwild1@gmail.com>
Date: Wed, 20 Mar 2013 20:31:02 +0000
Subject: net.http: Allow passing an SSL context or options table to be used
 for HTTPS requests (thanks daurnimator)

---
 net/http.lua | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

(limited to 'net')

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
-- 
cgit v1.2.3