> It seemed that early in mod_perl use,
> the return codes would be the literal status codes, like 500 for
> server error, 302 for redirect and 200 for success.  This is
> then very different in mod_perl 2, and hopefully I can implement
> this is some rational way so that Apache::ASP can still do something
> correct with $Response->{Status} across mod_perl 1 + 2.

302, 500, and all the other HTTP_* error codes still behave the same way.
what is different is that HTTP_OK (200) is no longer treated as OK (0).
other values that were altered to read as OK were returns < 100 and > 600,
but those probably don't matter.  200 is probably the only value you need to
worry about intercepting.

the bottom line is that request-time handlers need to return OK, DECLINED,
or DONE.  all other responses (including 200) are treated as "errors" by
apache.  this behavior, while new to mod_perl, is exactly the same as apache
itself, in both 1.3 and 2.0 - the change is that where mod_perl used to
second guess a handler's intent (by changing odd return codes to OK) it no
longer does so.

HTH

--Geoff


-- 
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html

Reply via email to