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]

Reply via email to