> 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