From: Jo-Philipp Wich Date: Sun, 20 Dec 2009 18:19:18 +0000 (+0000) Subject: luci-0.9: merge r5635 X-Git-Tag: 0.9.0~87 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=82cc8fddef2d185c25f7d060a1bd114041e8d39e;p=project%2Fluci.git luci-0.9: merge r5635 --- diff --git a/libs/http/luasrc/http/protocol/conditionals.lua b/libs/http/luasrc/http/protocol/conditionals.lua index 015cf4518b..635d6b2db0 100644 --- a/libs/http/luasrc/http/protocol/conditionals.lua +++ b/libs/http/luasrc/http/protocol/conditionals.lua @@ -93,16 +93,15 @@ end -- @return Alternative status code if the precondition failed -- @return Table containing extra HTTP headers if the precondition failed function if_none_match( req, stat ) - local h = req.headers - local etag = mk_etag( stat ) + local h = req.headers + local etag = mk_etag( stat ) + local method = req.env and req.env.REQUEST_METHOD or "GET" -- Check for matching resource if type(h['If-None-Match']) == "string" then for ent in h['If-None-Match']:gmatch("([^, ]+)") do if ( ent == '*' or ent == etag ) and stat ~= nil then - if req.request_method == "get" or - req.request_method == "head" - then + if method == "GET" or method == "HEAD" then return false, 304, { ["ETag"] = mk_etag( stat ); ["Date"] = date.to_http( os.time() );