recycled-air / mongoose

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

compiling mogoose with lua #409

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
I am using mongoose 4.1 api with my c application on an arm based linux system. 
I was using few python scripts and other cgi scripts by adding the extension as 
-> "cgi_pattern", "**.cgi$|**.pl$|**.php$",

Want to use a lua script now just for testing , what are the changes should I 
make to the mongoose.c or mongoose.h files ? 

What is the expected output? What do you see instead?
The mongoose should run the lua script instead it just shows the whole script 
text when I try to run. 

What version of the product are you using? On what operating system?
mongoose 4.1 running on linux

Please provide any additional information below.
I dont run mongoose independently , it is part of my application , i just 
import mongoose.h and mongoose.c into my project. 
So how can I also modify it to use lua with mongoose now.

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

GoogleCodeExporter commented 8 years ago
Are you going to use Lua script as CGI?
Is your embedded application commercial or open-source?

Original comment by valenok on 7 Aug 2014 at 7:48

GoogleCodeExporter commented 8 years ago
Its open source and doing it for a university project.
I want to use lua as CGI 

Original comment by prajwalc...@gmail.com on 7 Aug 2014 at 7:58

GoogleCodeExporter commented 8 years ago
No change for mongoose is needed.
Rename your Lua script to have ".cgi" extension.

Original comment by valenok on 7 Aug 2014 at 8:25

GoogleCodeExporter commented 8 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> ') 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>

Original comment by prajwalc...@gmail.com on 7 Aug 2014 at 8:52

GoogleCodeExporter commented 8 years ago
I used the file with extension .cgi also

Original comment by prajwalc...@gmail.com on 7 Aug 2014 at 8:53