mg.write("HTTP/1.1 200 OK\r\n") mg.write("Connection: close\r\n") mg.write("Content-Type: text/html\r\n") mg.write("\r\n") mg.write("\r\n") mg.write("\r\n") mg.write("\r\n") mg.write(" \r\n") mg.write(" HTTP reflector\r\n") mg.write([[ ]]); mg.write("\r\n") mg.write("\r\n") mg.write("

HTTP reflector

\r\n") mg.write(mg.request_info.request_method .. " " .. mg.request_info.request_uri .. " HTTP/" .. mg.request_info.http_version .. "\r\n") mg.write("

Header

\r\n") mg.write(" \r\n"); mg.write(" \r\n"); mg.write(" \r\n") mg.write(" \r\n") mg.write(" \r\n"); for k,v in pairs(mg.request_info.http_headers) do mg.write(" \r\n"); mg.write(" \r\n") mg.write(" \r\n") mg.write(" \r\n"); end mg.write("
Header NameValue
" .. k .. "" .. v .. "
\r\n"); mg.write("

Info

\r\n") info = {} info["path_info"] = mg.request_info.path_info info["query_string"] = mg.request_info.query_string mg.write(" \r\n"); mg.write(" \r\n"); mg.write(" \r\n") mg.write(" \r\n") mg.write(" \r\n"); for k,v in pairs(info) do mg.write(" \r\n"); mg.write(" \r\n") mg.write(" \r\n") end mg.write(" \r\n"); mg.write("
InfoValue
" .. k .. "" .. v .. "
\r\n"); mg.write("

Body

\r\n") mg.write("
\r\n");

repeat
  local r = mg.read()
  if (r) then
    mg.write(r)
  end
until not r

mg.write("\r\n
\r\n"); mg.write("

-

\r\n") mg.write("\r\n") mg.write("\r\n")