mg.write("HTTP/1.0 200 OK\r\nContent-Type: text/html\r\n\r\n") mg.write([[
This is Lua script example 1, served by the CivetWeb web server, version ]] .. mg.version .. [[.
The following features are available:
Today is " .. os.date("%A") .. "
\r\n") mg.write("URI is " .. mg.request_info.uri .. "
\r\n") mg.write("\r\n
\r\n") -- Open database local db, errcode, errmsg = sqlite3.open('requests.db') if db then -- Note that the data base is located in the current working directory -- of the process if no other path is given here. -- Setup a trace callback, to show SQL statements we'll be executing. -- db:trace(function(data, sql) mg.write('Executing: ', sql: '\n') end, nil) -- 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, civetwebversion, luaversion, aux ); ]]) -- Add colums to table created with older version db:exec("ALTER TABLE requests ADD COLUMN civetwebversion;") db:exec("ALTER TABLE requests ADD COLUMN luaversion;") db:exec("ALTER TABLE requests ADD COLUMN aux;") -- Add entry about this request local stmt = db:prepare( 'INSERT INTO requests VALUES(NULL, datetime("now"), ?, ?, ?, ?, ?, ?);'); stmt:bind_values(mg.request_info.request_method, mg.request_info.uri, mg.request_info.remote_port, mg.version, _VERSION, "" ) stmt:step() stmt:finalize() -- Show all previous records mg.write('
id | \n") mg.write("timestamp | \n") mg.write("method | \n") mg.write("uri | \n") mg.write("addr | \n") mg.write("civetweb | \n") mg.write("lua | \n") mg.write("aux | \n") mg.write("
---|---|---|---|---|---|---|---|
" .. v[i] .. " | \n") i = i+1 end mg.write("