123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- HTTP/1.0 200 OK
- Content-Type: text/html
- <html><body>
- <p>This is another example of a Lua server page, served by
- <a href="https://github.com/civetweb/civetweb/">CivetWeb web server</a>.
- </p><p>
- The following features are available:
- <ul>
- <?
- mg.write("<li>" .. _VERSION .. " server pages</li>")
- if sqlite3 then
- mg.write("<li>sqlite3 binding</li>")
- end
- if lfs then
- mg.write("<li>lua file system</li>")
- end
- ?>
- </ul></p>
- <p> Today is <? mg.write(os.date("%A")) ?></p>
- <p> URI is <? mg.write(mg.request_info.uri) ?></p>
- <p> URI is <?=mg.request_info.uri?></p>
- <p>Database example:
- <pre>
- <?
- -- Open database
- local db = sqlite3.open('requests.db')
- -- 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 columns 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,
- ""
- )
- -- Show all previous records
- mg.write('Previous requests:\n')
- stmt = db:prepare('SELECT * FROM requests ORDER BY id DESC;')
- while stmt:step() == sqlite3.ROW do
- local v = stmt:get_values()
- mg.write(v[1] .. ' ' .. v[2] .. ' ' .. v[3] .. ' '
- .. v[4] .. ' ' .. v[5] .. '\n')
- end
- -- Close database
- db:close()
- ?>
- </pre></p>
- </body></html>
|