Hi,
I've been interested in tclhttpd for some time, but only as an abstract kind
of `oh, that seems like a good way to do it' kind of thing. Recently that
changed, because I had to produce some sodding web content (I don't care what
they say, http is better than gopher :) in a hurry.
Hot-damn, tclhttpd is good! I dallied with aolserver, but compared to
tclhttpd, for my purposes, aolserver is a bloat-pig. tclhttpd does everything
I want, and more - I haven't yet sounded its depths.
The code's extremely clean, the architecture's elegant, the whole production's
top-notch.
I'd like to contribute: I've written a file upload domain handler, it's not
yet working completely (mainly because MIME is such a ridiculous format -
binary with separators - whose febrile nightmare was that?), but it's almost
there. Should I work it up and submit it? I will, if it's likely to be
desired, but I won't bother otherwise.
One niggle: along the lines of a previous poster, it's just too hard to add an
additional library into tclhttp as distributed. In desperation, I put my
stuff in lib/ alongside the standard distro stuff, because (a) it was the
quickest hack to do the job, (b) I had to edit the httpd anyway.
If I may suggest, it should be easier to start tclhttpd from a copied
httpd.tcl which doesn't reside anywhere near the main distro, but which
resides in a user's home dir, for example. In other words, I submit, the home
dir for libs and such should be derived from the dir in which the libs are
found by a package require search, or somesuch, not from the script location.
The script location should provide *additional* libs and such, and there
should be an easier way (such as was suggested on the list) to provide a
search path of libs at the command line, or in the now-hacked and -displaced
httpd.tcl or config, or whatever.
So anyway, it's a bit too hard to configure tclhttpd without getting intimate
with the installed directory's contents, and that intimacy has made me dread
updating the distro. That's my only niggling complaint, honest :)
Colin.