Hiawatha also works under Windows (via Cygwin).
Well, cygwin provides a suitable exec(), no?
And if static files work via extensions, why handle CGI in a different way?
Um, because cgi is nothing like a mime type?
I think it's better to just accept it. You won't find a good webserver which doesn't work via extensions.
Like I said, popular is not the same as correct.
There are two types of CGI: the binaries and the scripts. Binaries are configured via CGIextension (no interpreter is required) and scripts via CGIhandler (a interpreter is required).
Ah, I see. The lack of transparency here (ie, a single option scheme doesn't work for both binaries and scripts) is part of what I don't like about the whole thing.
What if I add the following option: (NoExtensionAs)
I'm not fond of option proliferation, personally. More options = more documentation = more maintenance and a worse signal to noise ratio within the documentation (since any one person probably isn't interested in all available options). I certainly wouldn't like to feel responsible for adding more options to hiawatha (how do you think httpd configurations get bloated?
).
You just have to add #! to every CGI script in order to make them work. That would solve your 'problem', not?
For the most part, yes. But it still imposes an arbitrary naming restriction on my scripts - if I drop a cgi script that contains a . into my webroot I need to provide a corresponding option to hiawatha. What if you just fell back to standard unix behaviour when encountering an executable file with no associated extension?
Thanks for your time, Hugo.
-sqweek