nrmmota / mongoose

Automatically exported from code.google.com/p/mongoose
MIT License
0 stars 0 forks source link

lua cgi with mongoose 4.1 #410

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
I am using the example script primenumbers.lp just for testing but it gives an 
error like this

Error 500: Internal Server Error
CGI program sent malformed or too big (>16384 bytes) HTTP headers: []

here is the script 
HTTP/1.0 200 OK
Content-Type: text/html

<html>
  <p>Prime numbers from 0 to 100, calculated by Lua:</p>
 <?
    function is_prime(n)
      if n <= 0 then return false end
      if n <= 2 then return true end
      if (n % 2 == 0) then return false end
      for i = 3, n / 2, 2 do
        if (n % i == 0) then return false end
      end
      return true
    end

    for i = 1, 100 do
      if is_prime(i) then mg.write('<span>' .. i .. '</span>&nbsp;') end
    end

 ?>

 <p>Reading POST data from Lua (click submit):</p>
 <form method="POST" ><input type="text" name="t1"/><input type="submit"></form>

 <pre>
   POST data: [<?
      local post_data = ''
      if mg.request_info.request_method == 'POST' then
        post_data = mg.read()
      end
      mg.write(post_data)
    ?>]
   request method: [<? mg.write(mg.request_info.request_method) ?>]
   IP/port: [<? mg.write(mg.request_info.remote_ip, ':',
                         mg.request_info.remote_port) ?>]
   URI: [<? mg.write(mg.request_info.uri) ?>]
   HTTP version [<? mg.write(mg.request_info.http_version) ?>]
   HEADERS:
   <?
     for name, value in pairs(mg.request_info.http_headers) do
       mg.write(name, ':', value, '\n')
     end
   ?>
</pre>
</html>

I used the file with extension .cgi also

Original issue reported on code.google.com by prajwalc...@gmail.com on 7 Aug 2014 at 9:41

GoogleCodeExporter commented 9 years ago
Please learn how CGI scripts must be written.

Original comment by valenok on 7 Aug 2014 at 9:58