lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


At 10:01 PM 1/23/2003, you wrote:

From: "Joe Stewart" <jstewart@ccpu.com>
> I put the files on http://lua-users.org in users/jstewart/*, but couldn't
> figure out how to properly point your page to the files... any
suggestions?

I think the way they are linked now is ok.

Only after a bit of mucking around!

I've only had a short look at the code yet, so I can't say too much. One
thing I noticed was that you popen() .lua files to run scripts.

Ugly, huh?

Maybe that could be done more directly via dofile() or such... I don't have
the details now, but a while back I saw some nice code to 'sandbox' external
Lua code inside another script...

This is exactly why I used popen... I didn't want errant scripts to hose-up the server. If you can point me to the "sandbox" code, I'll see if I can integrate the concepts...

I was wondering if it was possible from standard lua to set the global environment to another table prior to a dofile(), then kill the temp one and restore the main?

I guess the called script could be entirely contained in a well-known function (perhaps 'main()') with all parameters as functions and all its variables as locals. Does this make sense? How would you trap errors without killing the calling script?

I will try and look into this after the weekend when I find some time again.

>From my own experiments with libwebserver, I'm now more and more convinced
that doing the main loop in Lua would be my goal, if only for flexibility.
In the long run I'd also like to try using coroutines for handling more than
one request at a time.

Are co-routines possible with Lua 4? I'm a bit hesitant to move to Lua 5... no reason other than I only use what I can build (I compile with lcc-win32 among other compiles/environments) and I haven't taken the time to try and compile Lua 5.

My approach of using 'readfrom("|lua ...")' while fat and ugly, does provide an opportunity for multiple requests, since I could read one line of output from the script, go to the next, etc., but even with this, coroutines would make for an overall better looking piece of code IMHO, considering the state information you'd probably have to carry around.

Did anyone ever respond about using luasocket's 'select' with lua's file handles rather than sockets? Under *NIX at least, this ~could~ work, I'm not too sure about Windows (and I want to support both)... I guess I can answer this myself by looking at the source... ;-).

This would esp. be important if dealing not with
static content (which is more-or-less piping a file to stdout) but with
dynamically generated content that might take more time to generate.

Do you know how dynamic content is handled via http? Is there something more than GET/POST/PUT that I need to know about (too impatient to read RFCs)? Any pointers?

Thanks for all the contributions and suggestions,

I've received more than I've given ;-). Thanks to all!

-joe

-Martin