-- Fetch() API Demo local function WriteForm(url) Write('\r\n') Write([[ redbean fetch demo

redbean fetch demo

]] % {EscapeHtml(url)}) end local function main() if IsPublicIp(GetClientAddr()) then ServeError(403) elseif GetMethod() == 'GET' or GetMethod() == 'HEAD' then WriteForm("https://www.cloudflare.com/robots.txt") elseif GetMethod() == 'POST' then status, headers, payload = Fetch(GetParam('url')) WriteForm(GetParam('url')) Write('
\r\n') Write('
Status\r\n') Write('

%d %s\r\n' % {status, GetHttpReason(status)}) Write('

Headers\r\n') Write('
\r\n') for k,v in pairs(headers) do Write('
') Write(EscapeHtml(k)) Write(': ') Write(EscapeHtml(v)) Write('
\r\n') end Write('
Payload\r\n') Write('
')
      Write(EscapeHtml(VisualizeControlCodes(payload)))
      Write('
\r\n') Write('
\r\n') else ServeError(405) SetHeader('Allow', 'GET, HEAD, POST') end end main()