|
@@ -1,18 +1,30 @@
|
|
|
-- This test checks the Lua functions:
|
|
|
-- get_var, get_cookie, md5, url_encode
|
|
|
|
|
|
+now = os.time()
|
|
|
+cookie_name = "civetweb-test-page4"
|
|
|
+
|
|
|
+if mg.request_info.http_headers.Cookie then
|
|
|
+ cookie_value = tonumber(mg.get_cookie(mg.request_info.http_headers.Cookie, cookie_name))
|
|
|
+end
|
|
|
+
|
|
|
mg.write("HTTP/1.0 200 OK\r\n")
|
|
|
mg.write("Connection: close\r\n")
|
|
|
mg.write("Content-Type: text/html; charset=utf-8\r\n")
|
|
|
+if not cookie_value then
|
|
|
+ mg.write("Set-Cookie: " .. cookie_name .. "=" .. tostring(now) .. "\r\n")
|
|
|
+end
|
|
|
mg.write("\r\n")
|
|
|
|
|
|
-mg.write("<html>\r\n<head><title>Civetweb Lua script test page 4</title></head>\r\n<body><pre>\r\n")
|
|
|
+mg.write("<html>\r\n<head><title>Civetweb Lua script test page 4</title></head>\r\n<body>\r\n")
|
|
|
+mg.write("<p>Test of Civetweb Lua Functions:</p>\r\n");
|
|
|
+mg.write("<pre>\r\n");
|
|
|
|
|
|
--- get_var of query_string
|
|
|
-if not mg.request_info.query_string then
|
|
|
- mg.write("No query string!\r\n")
|
|
|
+-- get_var of query_string
|
|
|
+mg.write("get_var test (check query string):\r\n")
|
|
|
+if not mg.request_info.query_string then
|
|
|
+ mg.write(" No query string. You may try <a href='?a=a1&junk&b=b2&cc=cNotSet&d=a, b and d should be set&z=z'>this example</a>.\r\n")
|
|
|
else
|
|
|
- mg.write("Variables within query string:\r\n")
|
|
|
for _,var in ipairs({'a','b','c','d'}) do
|
|
|
value = mg.get_var(mg.request_info.query_string, var);
|
|
|
if value then
|
|
@@ -25,7 +37,7 @@ end
|
|
|
mg.write("\r\n")
|
|
|
|
|
|
-- md5
|
|
|
-mg.write("MD5:\r\n")
|
|
|
+mg.write("MD5 test:\r\n")
|
|
|
test_string = "abcd\0efgh"
|
|
|
mg.write(" String with embedded 0, length " .. string.len(test_string))
|
|
|
test_md5 = mg.md5(test_string)
|
|
@@ -43,11 +55,17 @@ end
|
|
|
mg.write("\r\n")
|
|
|
|
|
|
-- get_cookie
|
|
|
-mg.write("TODO: Test get_cookie\r\n")
|
|
|
+mg.write("Cookie test:\r\n")
|
|
|
+if not cookie_value then
|
|
|
+ mg.write(" Cookie not set yet. Please reload the page.\r\n")
|
|
|
+else
|
|
|
+ mg.write(" Cookie set to " .. cookie_value .. "\r\n")
|
|
|
+ mg.write(" You visited this page " .. os.difftime(now, cookie_value) .. " seconds before.\r\n")
|
|
|
+end
|
|
|
mg.write("\r\n")
|
|
|
|
|
|
-- url_encode
|
|
|
-mg.write("URL:\r\n")
|
|
|
+mg.write("URL encode/decode test:\r\n")
|
|
|
if mg.url_encode("") == "" then
|
|
|
mg.write(" url_encode of empty string OK\r\n")
|
|
|
else
|
|
@@ -75,4 +93,4 @@ mg.write("\r\n")
|
|
|
|
|
|
|
|
|
-- end of page
|
|
|
-mg.write("</pre></body>\r\n</html>\r\n")
|
|
|
+mg.write("</pre>\r\n</body>\r\n</html>\r\n")
|