Blob Blame History Raw
--- Frontier-RPC-0.06/lib/Frontier/RPC2.pm.rawserve	Wed Jun 19 17:47:33 2002
+++ Frontier-RPC-0.06/lib/Frontier/RPC2.pm	Wed Jun 19 18:26:04 2002
@@ -110,7 +110,7 @@
 }
 
 sub serve {
-    my $self = shift; my $xml = shift; my $methods = shift;
+    my $self = shift; my $xml = shift; my $methods = shift; my $raw = shift;
 
     my $call;
     # FIXME bug in Frontier's XML
@@ -118,6 +118,7 @@
     eval { $call = $self->decode($xml) };
 
     if ($@) {
+        die $@ if $raw;
 	return $self->encode_fault(1, "error decoding RPC.\n" . $@);
     }
 
@@ -127,12 +128,14 @@
 
     my $method = $call->{'method_name'};
     if (!defined $methods->{$method}) {
+        die "No such method '$method'" if $raw;
         return $self->encode_fault(3, "no such method \`$method'\n");
     }
 
     my $result;
     my $eval = eval { $result = &{ $methods->{$method} }(@{ $call->{'value'} }) };
     if ($@) {
+        die $@ if $raw;
 	return $self->encode_fault(4, "error executing RPC \`$method'.\n" . $@);
     }