Mon, 04 Jan 2016 17:07:51 +0000
geoip: Logging fix
local stream_methods = {}; local stream_mt = { __index = stream_methods }; local response_head = table.concat({ "HTTP/1.1 200 OK"; "Content-Type: text/event-stream"; ""; ""; }, "\r\n"); function stream_methods:add_watcher(conn) conn:write(response_head); self.watchers[conn] = true; end function stream_methods:remove_watcher(conn) self.watchers[conn] = nil; end function stream_methods:push(data) data = "data: "..data:gsub("\n", "\ndata: \n").."\n\n"; for conn in pairs(self.watchers) do conn:write(data); end end function stream_methods:is_unwatched() return next(self.watchers) == nil; end local function new() return setmetatable({ watchers = {} }, stream_mt); end return { new = new };