mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-07-27 13:00:28 +00:00
parent
da36e7e256
commit
4d21cd315d
20 changed files with 1075 additions and 664 deletions
|
@ -67,6 +67,9 @@ o/$(MODE)/tool/net/redbean.com.dbg: \
|
|||
o/$(MODE)/tool/net/redbean.css.zip.o \
|
||||
o/$(MODE)/tool/net/redbean.html.zip.o \
|
||||
o/$(MODE)/tool/net/redbean.lua.zip.o \
|
||||
o/$(MODE)/tool/net/redbean-form.lua.zip.o \
|
||||
o/$(MODE)/tool/net/.init.lua.zip.o \
|
||||
o/$(MODE)/tool/net/.reload.lua.zip.o \
|
||||
o/$(MODE)/tool/net/net.pkg \
|
||||
$(CRT) \
|
||||
$(APE)
|
||||
|
|
70
tool/net/redbean-form.lua
Normal file
70
tool/net/redbean-form.lua
Normal file
|
@ -0,0 +1,70 @@
|
|||
-- redbean post request handler demo
|
||||
|
||||
local function main()
|
||||
if GetMethod() ~= 'POST' then
|
||||
ServeError(405)
|
||||
SetHeader('Allow', 'POST')
|
||||
return
|
||||
end
|
||||
SetStatus(200)
|
||||
SetHeader('Content-Type', 'text/html; charset=utf-8')
|
||||
Write('<!doctype html>\n')
|
||||
Write('<title>redbean</title>\n')
|
||||
Write('<h3>POST Request HTML Form Handler Demo</h3>\n')
|
||||
|
||||
Write('<p>')
|
||||
firstname = GetParam('firstname')
|
||||
lastname = GetParam('lastname')
|
||||
if firstname and lastname then
|
||||
Write('Hello ')
|
||||
Write(EscapeHtml(firstname))
|
||||
Write(' ')
|
||||
Write(EscapeHtml(lastname))
|
||||
Write('!<br>')
|
||||
Write('Thank you for using redbean.')
|
||||
end
|
||||
|
||||
Write('<dl>\n')
|
||||
|
||||
Write('<dt>Params\n')
|
||||
Write('<dd>\n')
|
||||
Write('<dl>\n')
|
||||
params = GetParams()
|
||||
for i = 1,#params do
|
||||
Write('<dt>')
|
||||
Write(EscapeHtml(params[i][1]))
|
||||
Write('\n')
|
||||
if params[i][2] then
|
||||
Write('<dd>')
|
||||
Write(EscapeHtml(params[i][2]))
|
||||
Write('\n')
|
||||
end
|
||||
end
|
||||
Write('</dl>\n')
|
||||
|
||||
Write('<dt>Headers\n')
|
||||
Write('<dd>\n')
|
||||
Write('<dl>\n')
|
||||
for k,v in pairs(GetHeaders()) do
|
||||
Write('<dt>')
|
||||
Write(EscapeHtml(k))
|
||||
Write('\n')
|
||||
Write('<dd>')
|
||||
Write(EscapeHtml(v))
|
||||
Write('\n')
|
||||
end
|
||||
Write('</dl>\n')
|
||||
|
||||
Write('<dt>Payload\n')
|
||||
Write('<dd><p>')
|
||||
Write(EscapeHtml(GetPayload()))
|
||||
Write('\n')
|
||||
|
||||
Write('</dl>\n')
|
||||
|
||||
Write('<p>')
|
||||
Write('<a href="/tool/net/redbean.lua">Click here</a> ')
|
||||
Write('to return to the previous page.\n')
|
||||
end
|
||||
|
||||
main()
|
File diff suppressed because it is too large
Load diff
|
@ -1,8 +1,8 @@
|
|||
<!doctype html>
|
||||
<meta charset="utf-8">
|
||||
<title>redbean</title>
|
||||
<link rel="stylesheet" href="redbean.css">
|
||||
<img src="redbean.png" class="logo" width="84" height="84">
|
||||
<link rel="stylesheet" href="/tool/net/redbean.css">
|
||||
<img src="/tool/net/redbean.png" class="logo" width="84" height="84">
|
||||
|
||||
<h2>
|
||||
<big>redbean</big><br>
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
-- redbean lua server page demo
|
||||
|
||||
local function main()
|
||||
-- This check is optional.
|
||||
-- We do this by default if you don't call GetMethod().
|
||||
-- This check is pedantic but might be good to have.
|
||||
if GetMethod() ~= 'GET' and GetMethod() ~= 'HEAD' then
|
||||
ServeError(405)
|
||||
SetHeader('Allow', 'GET, HEAD')
|
||||
|
@ -40,9 +39,35 @@ local function main()
|
|||
Write('<p>\n')
|
||||
Write('<em>none</em><br>\n')
|
||||
Write('ProTip: Try <a href="')
|
||||
Write(EscapeHtml(EscapePath(GetPath()) .. '?x=hi+there&y&z&z=' .. EscapeParam('&')))
|
||||
Write(EscapeHtml(EscapePath(GetPath()) .. '?x=hi%20there&y&z&z=' .. EscapeParam('&')))
|
||||
Write('">clicking here</a>!\n')
|
||||
end
|
||||
|
||||
-- Access redbean command line arguments.
|
||||
-- These are the ones that come *after* the redbean server arguments.
|
||||
Write('<h3>command line arguments</h3>\n')
|
||||
if #argv > 0 then
|
||||
Write('<ul>\n')
|
||||
for i = 1,#argv do
|
||||
Write('<li>')
|
||||
Write(EscapeHtml(argv[i]))
|
||||
Write('\n')
|
||||
end
|
||||
Write('</ul>\n')
|
||||
else
|
||||
Write('<p><em>none</em>\n')
|
||||
end
|
||||
|
||||
Write('<h3>post request html form demo</h3>\n')
|
||||
Write('<form action="/tool/net/redbean-form.lua" method="post">\n')
|
||||
Write('<input type="text" id="firstname" name="firstname">\n')
|
||||
Write('<label for="firstname">first name</label>\n')
|
||||
Write('<br>\n')
|
||||
Write('<input type="text" id="lastname" name="lastname">\n')
|
||||
Write('<label for="lastname">last name</label>\n')
|
||||
Write('<br>\n')
|
||||
Write('<input type="submit" value="Submit">\n')
|
||||
Write('</form>\n')
|
||||
end
|
||||
|
||||
main()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue