Comparison

net/http.lua @ 5448:cbe9fa2d3787

net.http: Throw error when connecting to a http:// URL without LuaSec available
author Matthew Wild <mwild1@gmail.com>
date Mon, 08 Apr 2013 16:40:27 +0100
parent 5354:18ebc3874364
child 5458:84162b81c863
comparison
equal deleted inserted replaced
5447:92b88476873a 5448:cbe9fa2d3787
8 8
9 local socket = require "socket" 9 local socket = require "socket"
10 local b64 = require "util.encodings".base64.encode; 10 local b64 = require "util.encodings".base64.encode;
11 local url = require "socket.url" 11 local url = require "socket.url"
12 local httpstream_new = require "util.httpstream".new; 12 local httpstream_new = require "util.httpstream".new;
13
14 local ssl_available = pcall(require, "ssl");
13 15
14 local server = require "net.server" 16 local server = require "net.server"
15 17
16 local t_insert, t_concat = table.insert, table.concat; 18 local t_insert, t_concat = table.insert, table.concat;
17 local pairs, ipairs = pairs, ipairs; 19 local pairs, ipairs = pairs, ipairs;
175 177
176 -- Attach to request object 178 -- Attach to request object
177 req.method, req.headers, req.body = method, headers, body; 179 req.method, req.headers, req.body = method, headers, body;
178 180
179 local using_https = req.scheme == "https"; 181 local using_https = req.scheme == "https";
182 if using_https and not ssl_available then
183 error("SSL not available, unable to contact https URL");
184 end
180 local port = tonumber(req.port) or (using_https and 443 or 80); 185 local port = tonumber(req.port) or (using_https and 443 or 80);
181 186
182 -- Connect the socket, and wrap it with net.server 187 -- Connect the socket, and wrap it with net.server
183 local conn = socket.tcp(); 188 local conn = socket.tcp();
184 conn:settimeout(10); 189 conn:settimeout(10);