Browse Source

No need to yield. Conditionally show form. Updated title.

Marcos Kirsch 5 years ago
parent
commit
d31b2d2c89
1 changed files with 14 additions and 15 deletions
  1. 14 15
      http/args.lua

+ 14 - 15
http/args.lua

@@ -1,26 +1,25 @@
-return function (connection, args)
+return function (connection, req, args)
    dofile("httpserver-header.lc")(connection, 200, 'html')
    connection:send([===[
-   <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><title>Arguments</title></head><body><h1>Arguments</h1>
-   <form method="GET">
-      First name:<br><input type="text" name="firstName"><br>
-      Last name:<br><input type="text" name="lastName"><br>
-      <input type="radio" name="sex" value="male" checked>Male<input type="radio" name="sex" value="female">Female<br>
-      <input type="submit" name="submit" value="Submit">
-   </form>
+   <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><title>Arguments by GET</title></head><body><h1>Arguments by GET</h1>
    ]===])
-   coroutine.yield()
 
-   if args["submit"] ~= nil then
+   if args.submit == nil then
+      connection:send([===[
+         <form method="GET">
+            First name:<br><input type="text" name="firstName"><br>
+            Last name:<br><input type="text" name="lastName"><br>
+            <input type="radio" name="sex" value="male" checked>Male<input type="radio" name="sex" value="female">Female<br>
+            <input type="submit" name="submit" value="Submit">
+         </form>
+      ]===])
+   else
       connection:send("<h2>Received the following values:</h2><ul>")
-      coroutine.yield()
       for name, value in pairs(args) do
          connection:send('<li><b>' .. name .. ':</b> ' .. tostring(value) .. "<br></li>\n")
-         coroutine.yield()
       end
+      connection:send("</ul>\n")
    end
-
-   connection:send("</ul>\n</body></html>")
-
+   connection:send("</body></html>")
 end