perl-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Fred Moyer <f...@taperfriendlymusic.org>
Subject Re: [Fwd: DirectoryIndex]
Date Tue, 02 Jan 2007 19:12:26 GMT
On Mon, 1 Jan 2007, Geoffrey Young wrote:

> thoughts on adding Apache2::DirecotoryFixup to core?

I can grok the user's point of view - expecting it to work coming from mp1 
and it not 'just working' would be frustrating.  But I see the logic of 
why it is a 'feature' (after reading the threads).

Suggest releasing Apache2::DirectoryFixup on CPAN, and adding a note to 
the compatibility documents about what to do.  I'd volunteer to make the 
doc changes if this solution is favorable.

>
> --Geoff
>
> -------- Original Message --------
> Subject: DirectoryIndex
> Date: Mon, 1 Jan 2007 03:58:44 -0800 (PST)
> From: Rhett Creighton <rhett@creighton.com>
> To: modperl@perl.apache.org
>
> I think that this is pretty import to add to the core features.  I was
> able to get the patch to work, but I had to add:
>
> use Apache2::RequestUtil;
>
>
>
>
>> **********
>> mod_perl-1.99_16-3
>> **********
>> DirectoryIndex index.pl
>
> please see this thread
>
>  http://marc.theaimsgroup.com/?t=111335099400001&r=1&w=2
>
> specifically the solution found here
>
>  http://marc.theaimsgroup.com/?l=apache-modperl&m=111445150218566&w=2
>
> if this keeps coming up I might consider adding the My::Fixup code to
> mp2core as Apache2::DirectoryFixup like in the attached patch (with
> documentation, of course :)
>
> --Geoff
>
>
>
> ["dirindex.patch" (text/x-patch)]
>
> Index: ModPerl-Registry/t/conf/extra.conf.in
> ===================================================================
> --- ModPerl-Registry/t/conf/extra.conf.in	(revision 292232)
> +++ ModPerl-Registry/t/conf/extra.conf.in	(working copy)
> @@ -37,6 +37,7 @@
> #############################
> <IfModule mod_alias.c>
>     Alias /registry/         @ServerRoot@/cgi-bin/
> +    Alias /dirindex/         @ServerRoot@/cgi-bin/
>     Alias /registry_bb/      @ServerRoot@/cgi-bin/
>     Alias /registry_oo_conf/ @ServerRoot@/cgi-bin/
>     Alias /registry_prefork/ @ServerRoot@/cgi-bin/
> @@ -65,6 +66,18 @@
>     PerlOptions +ParseHeaders
> </Location>
>
> +PerlModule Apache2::DirectoryFixup
> +<IfModule mod_dir.c>
> +    <Location /dirindex>
> +        SetHandler perl-script
> +        Options +ExecCGI
> +        PerlResponseHandler ModPerl::Registry
> +        PerlOptions +ParseHeaders
> +        DirectoryIndex cgi.pl
> +        PerlFixupHandler Apache2::DirectoryFixup
> +    </Location>
> +</IfModule>
> +
> <Location /registry_modperl_handler>
>     SetHandler modperl
>     Options +ExecCGI
>
> --- /dev/null	2005-09-29 04:34:53.321311760 -0400
> +++ lib/Apache2/DirectoryFixup.pm	2005-09-30 00:11:08.800027265
> -0400
> @@ -0,0 +1,26 @@
> +package Apache2::DirectoryFixup;
> +
> +use strict;
> +use warnings FATAL => qw(all);
> +
> +use Apache2::Const -compile => qw(DIR_MAGIC_TYPE OK DECLINED);
> +use Apache2::RequestRec;
> +
> +sub handler {
> +
> +  my $r = shift;
> +
> +  if ($r->handler eq 'perl-script' &&
> +      -d $r->filename              &&
> +      $r->is_initial_req)
> +  {
> +    $r->handler(Apache2::Const::DIR_MAGIC_TYPE);
> +
> +    return Apache2::Const::OK;
> +  }
> +
> +  return Apache2::Const::DECLINED;
> +}
> +
> +1;
> +
>
> --- /dev/null	2005-09-29 04:34:53.321311760 -0400
> +++ ModPerl-Registry/t/dirindex.t	2005-09-30 00:08:32.871526372
> -0400
> @@ -0,0 +1,20 @@
> +use strict;
> +use warnings FATAL => 'all';
> +
> +use Apache::Test;
> +use Apache::TestUtil;
> +use Apache::TestRequest qw(GET);
> +
> +plan tests => 2, need [qw(mod_alias.c HTML::HeadParser mod_dir.c)],
> +    need_min_module_version CGI => 3.08;
> +
> +my $url = "/dirindex/";
> +my $res = GET $url;
> +
> +ok t_cmp($res->header('Content-type'),
> +         qr{^text/html},
> +         "test Content-type header setting via DirectoryIndex");
> +
> +ok t_cmp(lc($res->content),
> +         '<b>done</b>',
> +         "test body via DirectoryIndex");
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
> For additional commands, e-mail: dev-help@perl.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Mime
View raw message