local rawget, rawset, setmetatable = rawget, rawset, setmetatable local str_lower = string.lower local _M = { _VERSION = '0.12', } -- 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
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
core | Folder | 0755 |
|
|
dns | Folder | 0755 |
|
|
limit | Folder | 0755 |
|
|
lrucache | Folder | 0755 |
|
|
template | Folder | 0755 |
|
|
upstream | Folder | 0755 |
|
|
websocket | Folder | 0755 |
|
|
aes.lua | File | 9.24 KB | 0644 |
|
cookie.lua | File | 5.55 KB | 0644 |
|
core.lua | File | 710 B | 0644 |
|
http.lua | File | 28.99 KB | 0644 |
|
http_headers.lua | File | 1.12 KB | 0644 |
|
lock.lua | File | 4.58 KB | 0644 |
|
lrucache.lua | File | 6.95 KB | 0644 |
|
md5.lua | File | 1.19 KB | 0644 |
|
random.lua | File | 616 B | 0644 |
|
sha.lua | File | 236 B | 0644 |
|
sha1.lua | File | 1.16 KB | 0644 |
|
sha224.lua | File | 1.02 KB | 0644 |
|
sha256.lua | File | 1.19 KB | 0644 |
|
sha384.lua | File | 1.02 KB | 0644 |
|
sha512.lua | File | 1.33 KB | 0644 |
|
shell.lua | File | 4.88 KB | 0644 |
|
signal.lua | File | 3.04 KB | 0644 |
|
string.lua | File | 887 B | 0644 |
|
template.lua | File | 22.69 KB | 0644 |
|