diff options
Diffstat (limited to 'server/resty/http_headers.lua')
-rw-r--r-- | server/resty/http_headers.lua | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/server/resty/http_headers.lua b/server/resty/http_headers.lua deleted file mode 100644 index 97e8157..0000000 --- a/server/resty/http_headers.lua +++ /dev/null @@ -1,44 +0,0 @@ -local rawget, rawset, setmetatable = - rawget, rawset, setmetatable - -local str_lower = string.lower - -local _M = { - _VERSION = '0.17.0-beta.1', -} - - --- Returns an empty headers table with internalised case normalisation. -function _M.new() - local mt = { - normalised = {}, - } - - mt.__index = function(t, k) - return rawget(t, mt.normalised[str_lower(k)]) - end - - mt.__newindex = function(t, k, v) - local k_normalised = str_lower(k) - - -- First time seeing this header field? - if not mt.normalised[k_normalised] then - -- Create a lowercased entry in the metatable proxy, with the value - -- of the given field case - mt.normalised[k_normalised] = k - - -- Set the header using the given field case - rawset(t, k, v) - else - -- We're being updated just with a different field case. Use the - -- normalised metatable proxy to give us the original key case, and - -- perorm a rawset() to update the value. - rawset(t, mt.normalised[k_normalised], v) - end - end - - return setmetatable({}, mt) -end - - -return _M |