On Wednesday, Jan 22, 2003, at 09:22 Europe/London, Alex Sergeyev wrote:

I don't know how to fix this...
See how far the following (untested) patch gets you:

Index: lib/AxKit.pm
===================================================================
RCS file: /home/cvs/xml-axkit/lib/AxKit.pm,v
retrieving revision 1.34
diff -u -r1.34 AxKit.pm
--- lib/AxKit.pm 21 Jan 2003 16:11:57 -0000 1.34
+++ lib/AxKit.pm 22 Jan 2003 13:30:10 -0000
@@ -495,11 +495,45 @@

my $provider = Apache::AxKit::Provider->new_content_provider($r);

- my $result_code = run_axkit_engine(
- $r,
- $provider,
- 1, # no output
- );
+ my $result_code = eval {
+ run_axkit_engine(
+ $r,
+ $provider,
+ 1, # no output
+ );
+ };
+ if ($@) {
+ my $E = $@;
+ if ($E->isa('Apache::AxKit::Exception::Declined')) {
+ if ($AxKit::Cfg && $AxKit::Cfg->LogDeclines()) {
+ $r->log->warn("[AxKit] [DECLINED] $E->{reason}")
+ if $E->{reason};
+ }
+ AxKit::Debug(4, "[DECLINED] From: $E->{-file} : $E->{-line}");
+
+ my $str = '';
+ eval {
+ my $fh = $provider->get_fh;
+ local $/;
+ $str = <$fh>;
+ $result_code = OK;
+ };
+ if ($@) {
+ eval {
+ my $pstr = $provider->get_strref;
+ $str = $$pstr;
+ $result_code = OK;
+ };
+ if ($@) {
+ $result_code = 'provider_declined';
+ }
+ }
+ }
+ else {
+ # Some other type of exception
+ $result_code = $E;
+ }
+ }

if ($result_code == OK) {
# results now in $r->pnotes('xml_string') - probably...


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to