Mercurial Hosting > disearch
comparison src/tools/cookies.html.luan @ 4:8896ffd7b152
start login
| author | Franklin Schmidt <fschmidt@gmail.com> | 
|---|---|
| date | Sun, 22 Oct 2023 23:53:59 -0600 | 
| parents | |
| children | 
   comparison
  equal
  deleted
  inserted
  replaced
| 3:43814e9f5802 | 4:8896ffd7b152 | 
|---|---|
| 1 local Luan = require "luan:Luan.luan" | |
| 2 local error = Luan.error | |
| 3 local pairs = Luan.pairs or error() | |
| 4 local Html = require "luan:Html.luan" | |
| 5 local html_encode = Html.encode or error() | |
| 6 local Io = require "luan:Io.luan" | |
| 7 local Http = require "luan:http/Http.luan" | |
| 8 local Logging = require "luan:logging/Logging.luan" | |
| 9 local logger = Logging.logger "cookies.html" | |
| 10 | |
| 11 | |
| 12 return function() | |
| 13 local name = Http.request.parameters.name | |
| 14 if name ~= nil then | |
| 15 local value = Http.request.parameters.value | |
| 16 local persistent = Http.request.parameters.persistent | |
| 17 if #value == 0 then | |
| 18 Http.response.remove_cookie(name) | |
| 19 elseif persistent ~= nil then | |
| 20 Http.response.set_persistent_cookie(name,value) | |
| 21 else | |
| 22 Http.response.set_cookie(name,value) | |
| 23 end | |
| 24 Http.response.send_redirect "cookies.html" | |
| 25 return | |
| 26 end | |
| 27 | |
| 28 Io.stdout = Http.response.text_writer() | |
| 29 %> | |
| 30 <!doctype html> | |
| 31 <html> | |
| 32 <head> | |
| 33 <meta name="viewport" content="width=device-width, initial-scale=1"> | |
| 34 <style> | |
| 35 form { | |
| 36 margin-bottom: 16px; | |
| 37 } | |
| 38 </style> | |
| 39 </head> | |
| 40 <body> | |
| 41 <h2>Cookies Tool</h2> | |
| 42 <% | |
| 43 for name, value in pairs(Http.request.cookies) do | |
| 44 name = html_encode(name) | |
| 45 value = html_encode(value) | |
| 46 %> | |
| 47 <form> | |
| 48 <input name=name value="<%=name%>" type=hidden> | |
| 49 <%=name%> = <input name=value value="<%=value%>" size=100> | |
| 50 <label><input type=checkbox name=persistent>persistent</label> | |
| 51 </form> | |
| 52 <% end %> | |
| 53 <form> | |
| 54 <input name=name> | |
| 55 = <input name=value size=100> | |
| 56 <label><input type=checkbox name=persistent>persistent</label> | |
| 57 <input type=submit> | |
| 58 </form> | |
| 59 </body> | |
| 60 </html> | |
| 61 <% | |
| 62 end | 
