index.lua 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. mg.write("HTTP/1.1 200 OK\r\n")
  2. mg.write("Connection: close\r\n")
  3. mg.write("Content-Type: text/html\r\n")
  4. mg.write("\r\n")
  5. mg.write("<!DOCTYPE html>\r\n")
  6. mg.write("<html>\r\n")
  7. mg.write("<head>\r\n")
  8. mg.write(" <meta charset=\"UTF-8\">\r\n")
  9. mg.write(" <title>HTTP reflector</title>\r\n")
  10. mg.write([[
  11. <style type="text/css" media="screen">
  12. table{
  13. border-collapse:collapse;
  14. border:1px solid #FF0000;
  15. text-align: left;
  16. }
  17. table td{
  18. border:1px solid #FF0000;
  19. }
  20. table th{
  21. border:1px solid #FF0000;
  22. }
  23. </style>
  24. ]]);
  25. mg.write("</head>\r\n")
  26. mg.write("<body>\r\n")
  27. mg.write(" <h1>HTTP reflector</h1>\r\n")
  28. mg.write(mg.request_info.request_method .. " " .. mg.request_info.request_uri .. " HTTP/" .. mg.request_info.http_version .. "\r\n")
  29. mg.write(" <h2>Header</h2>\r\n")
  30. mg.write(" <table>\r\n");
  31. mg.write(" <tr>\r\n");
  32. mg.write(" <th>Header Name</th>\r\n")
  33. mg.write(" <th>Value</th>\r\n")
  34. mg.write(" </tr>\r\n");
  35. for k,v in pairs(mg.request_info.http_headers) do
  36. mg.write(" <tr>\r\n");
  37. mg.write(" <td>" .. k .. "</td>\r\n")
  38. mg.write(" <td>" .. v .. "</td>\r\n")
  39. mg.write(" </tr>\r\n");
  40. end
  41. mg.write(" </table>\r\n");
  42. mg.write(" <h2>Info</h2>\r\n")
  43. info = {}
  44. info["path_info"] = mg.request_info.path_info
  45. info["query_string"] = mg.request_info.query_string
  46. mg.write(" <table>\r\n");
  47. mg.write(" <tr>\r\n");
  48. mg.write(" <th>Info</th>\r\n")
  49. mg.write(" <th>Value</th>\r\n")
  50. mg.write(" </tr>\r\n");
  51. for k,v in pairs(info) do
  52. mg.write(" <tr>\r\n");
  53. mg.write(" <td>" .. k .. "</td>\r\n")
  54. mg.write(" <td>" .. v .. "</td>\r\n")
  55. end
  56. mg.write(" </tr>\r\n");
  57. mg.write(" </table>\r\n");
  58. mg.write(" <h2>Body</h2>\r\n")
  59. mg.write("<pre>\r\n");
  60. repeat
  61. local r = mg.read()
  62. if (r) then
  63. mg.write(r)
  64. end
  65. until not r
  66. mg.write("\r\n</pre>\r\n");
  67. mg.write(" <h2>-</h2>\r\n")
  68. mg.write("</body>\r\n")
  69. mg.write("</html>\r\n")