I've noticed the following with the current cvs build of
mod_perl 2, under Win32 ActivePerl 807 and Apache/2.0.48,
and was wondering if I'm not understanding something. I
first noticed it with Apache::ASP, but the following handler
also illustrates it:
===========================================================
package Apache::Hello;
use strict;
use Apache::RequestRec ();
use Apache::RequestIO ();
use Apache::Const -compile => ':common';
sub handler {
my $r = shift;
my $time = scalar localtime();
my $package = __PACKAGE__;
$r->content_type('text/html');
$r->print(<<"END");
<HTML><BODY>
<H3>Hello</H3>
Hello from <B>$package</B>! The time is $time.
</BODY></HTML>
END
return 200;
}
1;
==============================================================
configured with
==============================================================
PerlModule Apache::Hello
<Location /hello>
SetHandler modperl
PerlResponseHandler Apache::Hello
</Location>
==============================================================
With this, a request for http://localhost/hello results in
the browser
=============================================================
Hello
Hello from Apache::Hello! The time is ....
OK
The server encountered an internal error ....
=================================================================
although nothing is reported in the error log, and the
status in the access log is reported as 200. The problem
arises from returning '200' from Apache::Hello; changing
return 200;
to
return Apache::OK;
fixes things.
Is there something wrong in principle with returning an
explicit status of, eg, 200, rather than using the Apache::*
constants?
--
best regards,
randy kobes
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]