Paul Querna wrote:
William A. Rowe, Jr. wrote:
Issac Goldstand wrote:

Paul Querna wrote:
Akins, Brian wrote:
On 3/26/08 9:06 AM, "Nick Kew" <[EMAIL PROTECTED]> wrote:

There seems to be a demand for dynamic per-request configuration,
as evidenced by the number of users hacking it with mod_rewrite,
and the other very limited tools available.  Modern mod_rewrite
usage commonly looks like programming, but it's not designed as
a programming language.  Result: confused and frustrated users.


This is what I had in mind when I suggested having <Lua> blocks of code. No
need to invent a new language when a perfectly fine one exists...


+1, and embed Lua in the core, and a dozen problems just like this are solved.

-0.5 PLEASE not in the core. Make mod_wombat a standard module and part of the default moduleset, whatever, but let's not make more core dependencies, please?!?

-0.99 - agreed.  Perl is perfectly happy having <perl> blocks as modular
behaviors... I've noticed a trend in the last few years of building on the
core (and folks rightfully accused me of growing mod_proxy core when new
directives are rightfully part of mod_proxy_{whatever}).

Yes, but the root of the problem even with <perl> blocks is that they have almost no way to change the behavior of existing modules -- like you can via configuration -- and instead for the most part, they reimplment entire C modules in Perl, or any other language, rather than binding to the configuration, and change that based on some other inputs.

The few that can change behaviors, ie via ENV vars, are special cases in every modules case, and do not make a difference in the larger picture.

Not completely true. mod_perl provides several ways to bind to the configuration. Consider this bit of Perl magic - this is some mp1 code, running in Perl-land, not in a <Perl> block, though it could as easily be run there...

    package Apache::ReadConfig;
    no strict;
    $Location{$UploadScript} = {
        Options => '+ExecCGI',
        PerlHeaderParserHandler => $namespace."::upload_jit_handler",
    };
    $Location{$UploadMeter} = {
        Options => '+ExecCGI',
        PerlHeaderParserHandler => $namespace."::meter_jit_handler",
    };
    $Location{$UploadForm} = {
        Options => '+ExecCGI',
        PerlHeaderParserHandler => $namespace."::form_jit_handler",
    };


Granted, you're still limited to the underlying config parser, so I'm not arguing with the new config API idea (at least as I understood it yesterday), but this should be treated as a pluggable config engine which everyone can access; not as a switch from one config parser to another.

  Issac

Reply via email to