diff options
Diffstat (limited to 'src/civetweb/test/page_keep_alive.lua')
-rw-r--r-- | src/civetweb/test/page_keep_alive.lua | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/civetweb/test/page_keep_alive.lua b/src/civetweb/test/page_keep_alive.lua new file mode 100644 index 00000000..d869ce46 --- /dev/null +++ b/src/civetweb/test/page_keep_alive.lua @@ -0,0 +1,34 @@ +-- Set keep_alive. The return value specifies if this is possible at all. +canKeepAlive = mg.keep_alive(true) + +if canKeepAlive then + -- Create the entire response in a string variable first. Content-Length will be set to the length of this string. + reply = [[ + <html><body> + <p>This is a Lua script supporting html keep-alive with the + <a href="https://github.com/civetweb/civetweb/">CivetWeb web server</a>. + </p> + <p>It works by setting the Content-Length header field properly. + </body></html> + ]] +else + reply = "<html><body>Keep alive not possible!</body></html>" +end + +-- First send the http headers +mg.write("HTTP/1.1 200 OK\r\n") +mg.write("Content-Type: text/html\r\n") +mg.write("Date: " .. os.date("!%a, %d %b %Y %H:%M:%S") .. " GMT\r\n") +mg.write("Cache-Control: no-cache\r\n") + +if canKeepAlive then + mg.write("Content-Length: " .. tostring(string.len(reply)) .. "\r\n") + mg.write("Connection: keep-alive\r\n") +else + mg.write("Connection: close\r\n") +end +mg.write("\r\n") + +-- Finally send the content +mg.write(reply) + |