aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorE. Westbrook <github@westbrook.io>2018-07-13 12:52:26 -0600
committerE. Westbrook <github@westbrook.io>2019-02-23 12:23:17 -0700
commit09ff9b650c3567c91eed62f4dd571729df2dedd4 (patch)
tree8b94521c7016f51e30c476ad521c9cf7e6189ff5 /src
parent144fa01c2f204e3b1b13c834f2644d100dba701b (diff)
downloadluasocket-09ff9b650c3567c91eed62f4dd571729df2dedd4.tar.gz
luasocket-09ff9b650c3567c91eed62f4dd571729df2dedd4.tar.bz2
luasocket-09ff9b650c3567c91eed62f4dd571729df2dedd4.zip
http.lua: allow override of hard-coded 5 max redirects
Diffstat (limited to 'src')
-rw-r--r--src/http.lua5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/http.lua b/src/http.lua
index a386165..8bda0d8 100644
--- a/src/http.lua
+++ b/src/http.lua
@@ -277,7 +277,9 @@ local function shouldredirect(reqt, code, headers)
277 return (reqt.redirect ~= false) and 277 return (reqt.redirect ~= false) and
278 (code == 301 or code == 302 or code == 303 or code == 307) and 278 (code == 301 or code == 302 or code == 303 or code == 307) and
279 (not reqt.method or reqt.method == "GET" or reqt.method == "HEAD") 279 (not reqt.method or reqt.method == "GET" or reqt.method == "HEAD")
280 and (not reqt.nredirects or reqt.nredirects < 5) 280 and ((false == reqt.maxredirects)
281 or ((reqt.nredirects or 0)
282 < (reqt.maxredirects or 5)))
281end 283end
282 284
283local function shouldreceivebody(reqt, code) 285local function shouldreceivebody(reqt, code)
@@ -299,6 +301,7 @@ local trequest, tredirect
299 sink = reqt.sink, 301 sink = reqt.sink,
300 headers = reqt.headers, 302 headers = reqt.headers,
301 proxy = reqt.proxy, 303 proxy = reqt.proxy,
304 maxredirects = reqt.maxredirects,
302 nredirects = (reqt.nredirects or 0) + 1, 305 nredirects = (reqt.nredirects or 0) + 1,
303 create = reqt.create 306 create = reqt.create
304 } 307 }