Re: Patch to mod_perl 1.26: error-notes support
On Tue, 28 May 2002, Geoffrey Young wrote: Doug MacEachern wrote: thanks, i've applied a variation of your patch to cvs and will be in 1.27 if anybody wants to work up a similar patch for Apache::PerlRun, that'd be nice too. this seems to work ok as PerlRun and RegistryNG. looks good, +1. thanks.
Re: Patch to mod_perl 1.26: error-notes support
Doug MacEachern wrote: thanks, i've applied a variation of your patch to cvs and will be in 1.27 if anybody wants to work up a similar patch for Apache::PerlRun, that'd be nice too. this seems to work ok as PerlRun and RegistryNG. --Geoff --- lib/Apache/PerlRun.pm 25 Mar 2002 01:59:02 - 1.38 +++ lib/Apache/PerlRun.pm 28 May 2002 14:38:03 - -28,6 +28,12 return bless {r=$r}, $class; } +sub xlog_error { +my($r, $msg) = _; +$r-log_error($msg); +$r-notes('error-notes', $msg); +} + sub can_compile { my($pr) = _; my $r = $pr-{r}; -52,7 +58,7 $pr-{'mtime'} = -M _; return wantarray ? (OK, $pr-{'mtime'}) : OK; } -$r-log_error($filename not found or unable to stat); +xlog_error($r, $filename not found or unable to stat); return NOT_FOUND; } -139,7 +145,7 } if($errsv) { - $r-log_error($errsv); + xlog_error($r, $errsv); return SERVER_ERROR; } -211,6 +217,7 my $pr = shift; if ($ and substr($,0,4) ne at ) { $pr-{r}-log_error(PerlRun: `$'); + $pr-{r}-notes('error-notes', $); $@{$pr-{r}-uri} = $; $ = ''; #XXX fix me, if we don't do this Apache::exit() breaks return SERVER_ERROR;
Re: Patch to mod_perl 1.26: error-notes support
thanks, i've applied a variation of your patch to cvs and will be in 1.27 if anybody wants to work up a similar patch for Apache::PerlRun, that'd be nice too. On Fri, 12 Apr 2002, Jesse Erlbaum wrote: Hello Doug All -- One of my programmers (Dave Kaufman) brought to my attention a small but useful feature which is present in mod_cgi, but missing from Apache::Registry. When running via mod_cgi, if execution of a CGI application fails, an error message will be propagated to an environment variable, ERROR_NOTES. This environment variable can be used by a custom ErrorDocument to assist in quality assurance. This variable is actually propagated, by http_request.c (confirmed in Apache 1.3.20), from an Apache note whose key is error-notes. A number of Apache handlers use the error-notes attribute to pass along human-readable exception data. Following is a patch I wrote (against mod_perl 1.26, Apache::Registry version 2.01) which causes Apache::Registry to participate in this scheme. I hope you find it sufficiently useful to include in the next version of mod_perl. Warmest regards, -Jesse- START PATCH diff -c -r1.1 Registry.pm *** modules/i686-linux/Apache/Registry.pm 13 Mar 2002 18:06:34 - 1.1 --- modules/i686-linux/Apache/Registry.pm 22 Mar 2002 22:19:10 - *** *** 129,134 --- 129,135 if ($@) { $r-log_error($@); $@{$uri} = $@; + $r-notes('error-notes', $@); return SERVER_ERROR unless $Debug $Debug 2; return Apache::Debug::dump($r, SERVER_ERROR); } *** *** 153,158 --- 154,160 if($errsv) { $r-log_error($errsv); + $r-notes('error-notes', $errsv); return SERVER_ERROR unless $Debug $Debug 2; return Apache::Debug::dump($r, SERVER_ERROR); } END PATCH Jesse Erlbaum, CTO Vanguard Media http://www.vm.com 212.242.5317 x115 [EMAIL PROTECTED]
Patch to mod_perl 1.26: error-notes support
Hello Doug All -- One of my programmers (Dave Kaufman) brought to my attention a small but useful feature which is present in mod_cgi, but missing from Apache::Registry. When running via mod_cgi, if execution of a CGI application fails, an error message will be propagated to an environment variable, ERROR_NOTES. This environment variable can be used by a custom ErrorDocument to assist in quality assurance. This variable is actually propagated, by http_request.c (confirmed in Apache 1.3.20), from an Apache note whose key is error-notes. A number of Apache handlers use the error-notes attribute to pass along human-readable exception data. Following is a patch I wrote (against mod_perl 1.26, Apache::Registry version 2.01) which causes Apache::Registry to participate in this scheme. I hope you find it sufficiently useful to include in the next version of mod_perl. Warmest regards, -Jesse- START PATCH diff -c -r1.1 Registry.pm *** modules/i686-linux/Apache/Registry.pm 13 Mar 2002 18:06:34 - 1.1 --- modules/i686-linux/Apache/Registry.pm 22 Mar 2002 22:19:10 - *** *** 129,134 --- 129,135 if ($@) { $r-log_error($@); $@{$uri} = $@; + $r-notes('error-notes', $@); return SERVER_ERROR unless $Debug $Debug 2; return Apache::Debug::dump($r, SERVER_ERROR); } *** *** 153,158 --- 154,160 if($errsv) { $r-log_error($errsv); + $r-notes('error-notes', $errsv); return SERVER_ERROR unless $Debug $Debug 2; return Apache::Debug::dump($r, SERVER_ERROR); } END PATCH Jesse Erlbaum, CTO Vanguard Media http://www.vm.com 212.242.5317 x115 [EMAIL PROTECTED]