|
@@ -0,0 +1,31 @@
|
|
|
+-- 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="http://code.google.com/p/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.0 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")
|
|
|
+
|
|
|
+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)
|
|
|
+
|