# HG changeset patch # User jbe # Date 1434659752 -7200 # Node ID f6eea95879d406e493d6a9813872b0520b71f30b # Parent b03857995d577c85723fc6607e078f324e4f1017 Check if key is a string in index metamethod of headers table diff -r b03857995d57 -r f6eea95879d4 moonbridge_http.lua --- a/moonbridge_http.lua Thu Jun 18 22:27:57 2015 +0200 +++ b/moonbridge_http.lua Thu Jun 18 22:35:52 2015 +0200 @@ -246,14 +246,16 @@ -- (raw access, but case-insensitive): headers = setmetatable({}, { __index = function(self, key) - local lowerkey = string.lower(key) - local result = rawget(self, lowerkey) - if result == nil then - result = {} - self[lowerkey] = result + if type(key) == "string" then + local lowerkey = string.lower(key) + local result = rawget(self, lowerkey) + if result == nil then + result = {} + rawset(self, lowerkey, result) + end + rawset(self, key, result) + return result end - self[key] = result - return result end }), -- table mapping header field names to value-lists