1
0
mirror of https://github.com/lammertb/libhttp.git synced 2025-08-16 11:21:57 +03:00
Files
libhttp/test/websocket.lua

57 lines
1.3 KiB
Lua

-- Open database
local db = sqlite3.open('requests.db')
if db then
db:busy_timeout(200);
-- Create a table if it is not created already
db:exec([[
CREATE TABLE IF NOT EXISTS requests (
id INTEGER PRIMARY KEY AUTOINCREMENT,
timestamp NOT NULL,
method NOT NULL,
uri NOT NULL,
addr
);
]])
end
local function logDB(method)
-- Add entry about this request
local r;
--repeat
r = db:exec([[INSERT INTO requests VALUES(NULL, datetime("now"), "]] .. method .. [[", "]] .. mg.request_info.uri .. [[", "]] .. mg.request_info.remote_port .. [[");]]);
--until r~=5;
---[[
-- alternative logging (to a file)
local f = io.open("R:\\log.txt", "a");
f:write(os.date() .. " - " .. method .. " - " .. mg.request_info.uri .. " - " .. mg.request_info.remote_port .. " <" .. r .. ">\n")
f:close()
--]]
end
-- Callback for "Websocket ready"
function ready()
logDB("WEBSOCKET READY")
end
-- Callback for "Websocket received data"
function data(bits, content)
logDB(string.format("WEBSOCKET DATA (%x)", bits))
return true;
end
-- Callback for "Websocket is closing"
function close()
logDB("WEBSOCKET CLOSE")
-- Close database
db:close()
end
logDB("WEBSOCKET PREPARE")
return true; -- could return false to reject the connection before the websocket handshake