From 02f8c29caf6bd7ffb03177301c3e41a2e6aba168 Mon Sep 17 00:00:00 2001 From: FYP Date: Sun, 2 Jun 2019 10:05:59 +0300 Subject: [PATCH 1/2] Implement replacing the HTTP backend --- src/requests.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/requests.lua b/src/requests.lua index 1758f40..8df46f7 100644 --- a/src/requests.lua +++ b/src/requests.lua @@ -1,7 +1,5 @@ -- Lua Requests library for http ease -local http_socket = require('socket.http') -local https_socket = require('ssl.https') local url_parser = require('socket.url') local ltn12 = require('ltn12') local json = require('cjson.safe') @@ -102,7 +100,9 @@ function _requests.make_request(request) local response = {} local ok - local socket = string.find(full_request.url, '^https:') and not request.proxy and https_socket or http_socket + requests.http_socket = requests.http_socket or require('socket.http') + requests.https_socket = requests.https_socket or require('ssl.https') + local socket = string.find(full_request.url, '^https:') and not request.proxy and requests.http_socket or requests.https_socket ok, response.status_code, response.headers, response.status = socket.request(full_request) From da97d1e3d23bff915d7a457148ca6c4919fa96af Mon Sep 17 00:00:00 2001 From: FYP Date: Sun, 2 Jun 2019 16:32:18 +0300 Subject: [PATCH 2/2] Move loading of socket modules and fix 'check_timeout' --- src/requests.lua | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/requests.lua b/src/requests.lua index 8df46f7..f2caa6d 100644 --- a/src/requests.lua +++ b/src/requests.lua @@ -73,6 +73,9 @@ function requests.request(method, url, args) request.url = url end + requests.http_socket = requests.http_socket or require('socket.http') + requests.https_socket = requests.https_socket or require('ssl.https') + request.method = method _requests.parse_args(request) @@ -100,8 +103,6 @@ function _requests.make_request(request) local response = {} local ok - requests.http_socket = requests.http_socket or require('socket.http') - requests.https_socket = requests.https_socket or require('ssl.https') local socket = string.find(full_request.url, '^https:') and not request.proxy and requests.http_socket or requests.https_socket ok, response.status_code, response.headers, response.status = socket.request(full_request) @@ -186,8 +187,8 @@ end --Set the timeout function _requests.check_timeout(timeout) - http_socket.TIMEOUT = timeout or 5 - https_socket.TIMEOUT = timeout or 5 + requests.http_socket.TIMEOUT = timeout or 5 + requests.https_socket.TIMEOUT = timeout or 5 end --Checks is allow_redirects parameter is set correctly