lua-users home
lua-l archive

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


would you like to share your needs (and maybe solutions) with the rest of us?

I can, but I don't think it will be /that/ interesting.

I have a project that I started using a web server made with Delphi (using ICS by François Piette) and the scripts handled with Lua. That was cool, but I had some ideas that would be better implemented if they were managed in the Lua side, due it's dynamic properties, fast proto typing and portability. It was easier to implement the webapp in Xavante than to build, test and debug an Apache module, for instance.

Then I got CGILua and Xavante. Really great stuff. In Xavante I made a considerable amount of changes, some were misbehavior, some proprietary features, others potentially buggy/dangerous (e.g.: Xavante considered that all UAs would send the headers names in the correct Capital-Case, which could not be true) and in some places, that I don't remember right now, Xavante also didn't handled UA misbehavior, such as sending an ill-formed HTTP header. I talked to Andre about some ideas last year (gzip, path handling etc), but I took the hardest-to-share path, where my solutions wouldn't be easily adapted to others' needs.

Of the things that could be shared with some work, are stuff like gzip compression, If-Modified-Since, a very simple static-file memcache, a customized path handler and some other minor stuff, but, again, some of them are kind of 'short-circuit' to my needs. For instance, I don't have virtual hosts nor I will share the web server with another application so no need for sand boxing. I simply cut off those features, saving some CPU cycles :)

From CGILua I just took the launchers (albeit I am not using them right now, but I am thinking about lighty in the not-so-near future) and standard libraries like url-parsing and a modified version of filehandler.lua. I had to rewrite post.lua because it just worked with venv (I may be wrong on this, but was fun to rewrite it anyway).

Also, I am developing a templating system, /inspired/ by CherryPy and RubyOnRails ('inspired' means: absorbed some concepts and did a _very_ different implementation), but it is rather immature yet.

As you can see, most of my needs/changes are purely in the area of embedded use. It was not that the components were dysfunctional or anything, but I just wanted a different path.

Feel free to contact me.

Romulo.