File: index.lua

package info (click to toggle)
civetweb 1.13%2Bdfsg-5
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 4,296 kB
  • sloc: ansic: 30,345; cpp: 1,148; sh: 388; javascript: 204; python: 143; makefile: 92; perl: 6; php: 1
file content (82 lines) | stat: -rw-r--r-- 1,942 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
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("<!DOCTYPE html>\r\n")
mg.write("<html>\r\n")
mg.write("<head>\r\n")
mg.write("  <meta charset=\"UTF-8\">\r\n")
mg.write("  <title>HTTP reflector</title>\r\n")
mg.write([[
<style type="text/css" media="screen">
table{
border-collapse:collapse;
border:1px solid #FF0000;
text-align: left;
}
table td{
border:1px solid #FF0000;
}
table th{
border:1px solid #FF0000;
}
</style>
]]);
mg.write("</head>\r\n")
mg.write("<body>\r\n")

mg.write("  <h1>HTTP reflector</h1>\r\n")
mg.write(mg.request_info.request_method .. " " .. mg.request_info.request_uri .. "  HTTP/" .. mg.request_info.http_version .. "\r\n")

mg.write("  <h2>Header</h2>\r\n")
mg.write("    <table>\r\n");
mg.write("      <tr>\r\n");
mg.write("        <th>Header Name</th>\r\n")
mg.write("        <th>Value</th>\r\n")
mg.write("      </tr>\r\n");
for k,v in pairs(mg.request_info.http_headers) do
  mg.write("      <tr>\r\n");
  mg.write("        <td>" .. k .. "</td>\r\n")
  mg.write("        <td>" .. v .. "</td>\r\n")
mg.write("      </tr>\r\n");
end
mg.write("    </table>\r\n");


mg.write("  <h2>Info</h2>\r\n")

info = {}
info["path_info"] = mg.request_info.path_info
info["query_string"] = mg.request_info.query_string

mg.write("    <table>\r\n");
mg.write("      <tr>\r\n");
mg.write("        <th>Info</th>\r\n")
mg.write("        <th>Value</th>\r\n")
mg.write("      </tr>\r\n");
for k,v in pairs(info) do
  mg.write("      <tr>\r\n");
  mg.write("        <td>" .. k .. "</td>\r\n")
  mg.write("        <td>" .. v .. "</td>\r\n")
end
mg.write("      </tr>\r\n");
mg.write("    </table>\r\n");

mg.write("  <h2>Body</h2>\r\n")
mg.write("<pre>\r\n");

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

mg.write("\r\n</pre>\r\n");

mg.write("  <h2>-</h2>\r\n")
mg.write("</body>\r\n")
mg.write("</html>\r\n")