From ef120fb92c575cb9b0d138ce5ea751b484163823 Mon Sep 17 00:00:00 2001
From: Matthew Wild <mwild1@gmail.com>
Date: Mon, 8 Apr 2013 16:40:27 +0100
Subject: net.http: Throw error when connecting to a http:// URL without LuaSec
 available

---
 net/http.lua | 5 +++++
 1 file changed, 5 insertions(+)

(limited to 'net')

diff --git a/net/http.lua b/net/http.lua
index a1e4e523..ec55af92 100644
--- a/net/http.lua
+++ b/net/http.lua
@@ -11,6 +11,8 @@ local b64 = require "util.encodings".base64.encode;
 local url = require "socket.url"
 local httpstream_new = require "util.httpstream".new;
 
+local ssl_available = pcall(require, "ssl");
+
 local server = require "net.server"
 
 local t_insert, t_concat = table.insert, table.concat;
@@ -177,6 +179,9 @@ function request(u, ex, callback)
 	req.method, req.headers, req.body = method, headers, body;
 	
 	local using_https = req.scheme == "https";
+	if using_https and not ssl_available then
+		error("SSL not available, unable to contact https URL");
+	end
 	local port = tonumber(req.port) or (using_https and 443 or 80);
 	
 	-- Connect the socket, and wrap it with net.server
-- 
cgit v1.2.3