diff --git a/index.js b/index.js index bcb62c1..8a0a1a6 100644 --- a/index.js +++ b/index.js @@ -251,6 +251,7 @@ Mod.prototype.callback = function (req, res, serverconsole, responseEnd, href, e else msg = http.STATUS_CODES[code]; } } + var hasLocation = false; for (var i = 0; i < bheaders.length; i++) { var headerp = bheaders[i].match(/^([^:]*)(?:: (.*))?/); if (!headerp) headerp = []; @@ -267,11 +268,12 @@ Mod.prototype.callback = function (req, res, serverconsole, responseEnd, href, e if (!bheaderso["Set-Cookie"]) bheaderso["Set-Cookie"] = []; bheaderso["Set-Cookie"].push(headerv); } else { + if (headern.toLowerCase() == "location") hasLocation = true; bheaderso[headern] = headerv; } } - if (code == 200 && (bheaderso["Location"] || bheaderso["location"])) { + if (code < 300 && code > 399 && hasLocation) { code = 302; msg = "Found"; }