richter 2005/02/27 22:31:00
Modified: . Changes.pod Embperl.pod MANIFEST epinit.c epmain.c
test.pl
Embperl Object.pm
test/conf httpd.conf.src
Log:
- If optReturnError is set in the httpd.conf it is now reseted
for all sub components, to make sure all errors are reported
back. (It can still be set via the options argument of
Execute).
- Using ErrorDocument by setting optReturnError now also works
under EmbperlObject. Reported by Robert Noris.
Revision Changes Path
1.266 +6 -0 embperl/Changes.pod
Index: Changes.pod
===================================================================
RCS file: /home/cvs/embperl/Changes.pod,v
retrieving revision 1.265
retrieving revision 1.266
diff -u -r1.265 -r1.266
--- Changes.pod 27 Feb 2005 22:16:41 -0000 1.265
+++ Changes.pod 28 Feb 2005 06:30:59 -0000 1.266
@@ -34,6 +34,12 @@
- $epreq -> errobj holds the last object passed to die during
the request.
- Added documentaion of Embperl's error handling and trapping.
+ - If optReturnError is set in the httpd.conf it is now reseted
+ for all sub components, to make sure all errors are reported
+ back. (It can still be set via the options argument of
+ Execute).
+ - Using ErrorDocument by setting optReturnError now also works
+ under EmbperlObject. Reported by Robert Noris.
=head1 2.0rc2 21. November 2004
1.90 +7 -0 embperl/Embperl.pod
Index: Embperl.pod
===================================================================
RCS file: /home/cvs/embperl/Embperl.pod,v
retrieving revision 1.89
retrieving revision 1.90
diff -u -r1.89 -r1.90
--- Embperl.pod 27 Feb 2005 22:38:35 -0000 1.89
+++ Embperl.pod 28 Feb 2005 06:31:00 -0000 1.90
@@ -1467,6 +1467,13 @@
current request. You can also set C<$epreq -> error> to false to reset
Embperl's
internal error condition.
+If the option C<optReturnError> or an error array is passed to a component
+the error flag is reset after the execution of component.
+
+If an error array is passed to a component, the errors inside the component
are
+not added to the overall
+errors of the request and therefore will not cause Embperl to display an
error page.
+
An more seldom used option is C<optDisableEmbperlErrorPage> (2), which tells
tells Embperl not to send its own errorpage in case of failure,
but instead show as much of the page as possible. Errors are only logged
1.100 +2 -0 embperl/MANIFEST
Index: MANIFEST
===================================================================
RCS file: /home/cvs/embperl/MANIFEST,v
retrieving revision 1.99
retrieving revision 1.100
diff -u -r1.99 -r1.100
--- MANIFEST 27 Feb 2005 22:16:41 -0000 1.99
+++ MANIFEST 28 Feb 2005 06:31:00 -0000 1.100
@@ -224,6 +224,7 @@
test/cmp/epobless2.htm
test/cmp/epobless3.htm
test/cmp/epodiv.htm
+test/cmp/epoerrdoc.htm
test/cmp/epofdat.htm
test/cmp/epoincdiv.htm
test/cmp/eponotfound.htm
@@ -379,6 +380,7 @@
test/html/EmbperlObject/base3/epobaselib.htm
test/html/EmbperlObject/epobase.htm
test/html/EmbperlObject/epodiv.htm
+test/html/EmbperlObject/epoerrdoc.htm
test/html/EmbperlObject/epofdat.htm
test/html/EmbperlObject/epofallback.htm
test/html/EmbperlObject/epofoot.htm
1.26 +3 -0 embperl/epinit.c
Index: epinit.c
===================================================================
RCS file: /home/cvs/embperl/epinit.c,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- epinit.c 27 Feb 2005 20:05:47 -0000 1.25
+++ epinit.c 28 Feb 2005 06:31:00 -0000 1.26
@@ -1966,6 +1966,9 @@
embperl_GetCGIComponentConfig (r, r -> pPool, &c -> Config, bUseEnv,
bUseRedirectEnv, 1) ;
}
+ if (pPrev)
+ c -> Config.bOptions &= ~optReturnError ;
+
if (pParamHV)
{
Embperl__Component__Config_new_init (aTHX_ &c -> Config, (SV
*)pParamHV, 0) ;
1.139 +0 -2 embperl/epmain.c
Index: epmain.c
===================================================================
RCS file: /home/cvs/embperl/epmain.c,v
retrieving revision 1.138
retrieving revision 1.139
diff -u -r1.138 -r1.139
--- epmain.c 27 Feb 2005 22:16:42 -0000 1.138
+++ epmain.c 28 Feb 2005 06:31:00 -0000 1.139
@@ -1312,7 +1312,6 @@
EPENTRY (ExecuteReq) ;
-
if (!r -> Component.pExportHash)
r -> Component.pExportHash = newHV () ;
@@ -1390,7 +1389,6 @@
_ASSERTE( _CrtCheckMemory( ) );
#endif
-
if ((c -> Config.bOptions & optReturnError) && r -> bError)
{
#ifdef APACHE
1.153 +5 -0 embperl/test.pl
Index: test.pl
===================================================================
RCS file: /home/cvs/embperl/test.pl,v
retrieving revision 1.152
retrieving revision 1.153
diff -u -r1.152 -r1.153
--- test.pl 27 Feb 2005 22:16:42 -0000 1.152
+++ test.pl 28 Feb 2005 06:31:00 -0000 1.153
@@ -779,6 +779,11 @@
'offline' => 0,
'cgi' => 0,
},
+ 'EmbperlObject/errdoc/epoerrdoc.htm' => {
+ 'offline' => 0,
+ 'cgi' => 0,
+ 'errors' => 1,
+ },
'EmbperlObject/epobase.htm' => {
'offline' => 0,
'cgi' => 0,
1.14 +3 -1 embperl/Embperl/Object.pm
Index: Object.pm
===================================================================
RCS file: /home/cvs/embperl/Embperl/Object.pm,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- Object.pm 15 Jan 2005 19:53:59 -0000 1.13
+++ Object.pm 28 Feb 2005 06:31:00 -0000 1.14
@@ -406,7 +406,9 @@
my $c = $r -> setup_component ($cparam) ;
$rc = run($r) ;
+
$r -> cleanup ;
+
return $rc ;
}
1.57 +15 -1 embperl/test/conf/httpd.conf.src
Index: httpd.conf.src
===================================================================
RCS file: /home/cvs/embperl/test/conf/httpd.conf.src,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -r1.56 -r1.57
--- httpd.conf.src 22 Feb 2005 16:34:29 -0000 1.56
+++ httpd.conf.src 28 Feb 2005 06:31:00 -0000 1.57
@@ -345,6 +345,20 @@
PerlHandler Embperl::Object
Options ExecCGI
</Location>
+
+
+<Location /embperl/EmbperlObject/errdoc>
+EMBPERL_APPNAME epo1
+EMBPERL_OBJECT_BASE epobase.htm
+EMBPERL_OBJECT_FALLBACK epofallback.htm
+EMBPERL_URIMATCH \"\\.htm.?\$|\\.epl\$\"
+SetHandler perl-script
+PerlHandler Embperl::Object
+Options ExecCGI
+EMBPERL_OPTIONS 262144
+ErrorDocument 500 /embperl/errmsg2.htm
+</Location>
+
<Location /embperl/SSI/>
EMBPERL_SYNTAX SSI
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]